什么时候我必须使用@section脚本?

在此处输入图像描述

我当前的结构有一个页眉,正文和页脚的布局。 在body中加载一个视图,使用ajax调用一个动作控制器,返回一个Json并绘制一个树视图。 当用户单击树视图时,页脚应加载详细信息。 但是不起作用,我的猜测是因为脚本部分没有正确呈现。

现在,脚本在布局中没有包或任何东西,并且在主体上工作正常,因为我使用Jquery和Tree来加载Json数据。

但在局部视图中得到一个错误。 我可以编写@section scripts区域并从部分视图中的布局复制所有脚本,但为什么要复制代码?

在此处输入图像描述

最糟糕的部分只是在生产环境中给我带来问题……在我的开发环境中工作正常。

在此处输入图像描述

所以问题:

  • 为什么主视图可以看到脚本在布局上定义但部分视图不是?

  • 为什么我的开发环境工作正常,但制作不是吗?

  • 我该怎么做才能解决这个问题?

编辑:更多测试。

这是一个测试视图,这在Body中渲染。 但我需要包含脚本部分,否则对话框不显示,即使布局也有脚本。

 @{ ViewBag.Title = "TreeDetails"; }   @ViewBag.Title   

TEST PAGE

// Your code goes here. $(document).ready(function () { console.log("before dialog"); $("#dialog").dialog(); console.log("after dialog"); })

This is the default dialog which is useful for displaying information. The dialog window can be moved, resized and closed with the 'x' icon.

@section scripts { }

由于无法识别的jquery函数,它似乎是一个运行时错误。尝试从布局标题中的视图@section区域移动链接引用到jquery ..