我有一个razor
布局,它会加载 css jquery等。
当我添加控制器动作视图时,我将布局设置为_Layout.cshtml
但jquery在该页面中不起作用。
所以我必须在每个视图中添加@Scripts.Render("~/bundles/jquery")
为什么导入的jquery不是从_Layout.cshtml
继承的?这是正常的吗?
答案 0 :(得分:8)
这应该在_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>
}