6

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

4

1 回答 1

9

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

@Scripts.Render("~/bundles/jquery")
@RenderSection("scripts", required: false)

这应该在您的子视图中:

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

您子视图中的所有脚本(引用 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>
}
于 2013-09-17T22:35:39.493 回答