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

本文关键字:不起作用 定义 jquery 布局 为什么 | 更新日期: 2023-09-27 18:31:36

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

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

这应该在 _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>
}