为什么jquery不能在布局中定义的页面上工作

111*_*110 6 c# asp.net-mvc razor asp.net-mvc-4

我有一个razor布局,它加载css jquery等.
当我添加控制器动作视图时,我将布局设置为_Layout.cshtml
但是jquery在该页面中不起作用.
所以我必须@Scripts.Render("~/bundles/jquery")在每个视图中添加.
为什么导入的jquery不是继承自_Layout.cshtml?这是正常的吗?

Rob*_*Kee 9

这应该在_Layout.cshtml的底部附近:

@Scripts.Render("~/bundles/jquery")
@RenderSection("scripts", required: false)
Run Code Online (Sandbox Code Playgroud)

这应该在您的子视图中:

@section scripts {
    @Scripts.Render("~/scripts/jquery.infinitescroll.js") // Or some other script
}
Run Code Online (Sandbox Code Playgroud)

您的子视图中的所有脚本(引用jquery)都需要位于脚本部分,而不是放在页面正文中.这包括任何想要使用jquery的脚本标记.例如,我的一个页面具有以下内容:

@section scripts {
    @Scripts.Render("https://maps.googleapis.com/maps/api/js?key=&sensor=false")
    <script src="~/scripts/google-maps-3-vs-1-0.js"></script>
    <script>
        Stuff here
    </script>
}
Run Code Online (Sandbox Code Playgroud)