Javascript 在ASP MVC.Net核心中的何处使用/放置jQuery?

Javascript 在ASP MVC.Net核心中的何处使用/放置jQuery?,javascript,c#,jquery,asp.net-mvc,Javascript,C#,Jquery,Asp.net Mvc,我了解到,建议在页面末尾加载jQuery(也称为页脚) 我目前正在试验MVC项目中的脚手架模板。 现在,我的场景是有一个_布局,其中jQuery/script/bootstrap加载到页脚中。 说我有一个名为“Index.cshtml”的视图,它将使用_Layout.cshtml作为布局。 在“Index.cshtml”中,我有一些简单的东西: <script> $(document).ready(function () { $('#test').on('click', fu

我了解到,建议在页面末尾加载jQuery(也称为页脚)

我目前正在试验MVC项目中的脚手架模板。 现在,我的场景是有一个_布局,其中jQuery/script/bootstrap加载到页脚中。 说我有一个名为“Index.cshtml”的视图,它将使用_Layout.cshtml作为布局。 在“Index.cshtml”中,我有一些简单的东西:

<script>
$(document).ready(function () {
    $('#test').on('click', function (e) {
        alert("hey");
    });       
});
</script>
<button id="test">test</button>

$(文档).ready(函数(){
$('#test')。在('click',函数(e)上{
警惕(“嘿”);
});       
});
测试
我的问题是:

我想使用jQuery将事件绑定到按钮。如何调用$(文档)。准备就绪。。。在“Index.cshtml”中,这样我就可以以最有效的方式实现这一点了?(因为jQuery稍后在页脚处加载,我希望在相应的页面中编写代码,而不是在共享页面(如_Layout.cshtml)中)。我想在视图中加载jQuery,但这会使它成为一个重复加载,不是吗

解决方案

如果有人像我一样遇到同样的问题,请查看下面罗伯特的答案


基本上,ASP MVC.Net核心的脚手架模板定义了一个名为“Scripts”的@Section。因此,如果我们在视图中定义该脚本,它将在jquery/js脚本加载后立即加载到_布局的页脚中。

有几种方法,但为什么不尝试一下脚本部分呢

@section Scripts {
 <script type="text/javascript" src="/scripts/main.js"></script>
}
@节脚本{
}
资料来源:

或者在您的情况下:

@section Scripts {
    <script>
    $(document).ready(function () {
        $('#test').on('click', function (e) {
            alert("hey");
        });       
    });
    </script>
 }
@节脚本{
$(文档).ready(函数(){
$('#test')。在('click',函数(e)上{
警惕(“嘿”);
});       
});
}

您将jQuery放在了_布局中。
$(文档).ready(函数()
将按预期在Index.cshtml页面中工作。如果不同页面需要不同的.js文件,只需创建多个具有不同名称的布局页面即可。@Steve不幸的是,我尝试了,但没有工作。似乎在加载时,jQuery脚本还没有加载。我收到了错误消息“$is not define”在控制台日志中,您在标记中有这一行吗?@benmartin101我没有包含它。原因是它将在稍后在_布局的页脚部分加载,如前所述,因此这样做会导致jQuery加载两次,我不希望这样