Jquery 在MVC5中,为什么将@Scripts.Render放在@RenderBody standard下面的@u Layout.cshtml中

Jquery 在MVC5中,为什么将@Scripts.Render放在@RenderBody standard下面的@u Layout.cshtml中,jquery,razor,asp.net-mvc-5,Jquery,Razor,Asp.net Mvc 5,当我生成一个MVC5应用程序时,\u Layout.cshtml在文件末尾的@RenderBody()后面有@Scripts.Render。如果我将.js添加到使用jquery的index.cshtml中,就会出现可怕的“$未定义”错误 我知道解决这个问题的唯一方法是将@Scripts.Render移动到部分 正确的方法是什么 提前谢谢 @Scripts.Render应位于页面的底部。否则,您将面临访问脚本运行时尚未加载的页面元素的风险 编辑: 如果要包含自定义脚本文件,有两种方法: 1。在Bu

当我生成一个MVC5应用程序时,
\u Layout.cshtml
在文件末尾的
@RenderBody()后面有
@Scripts.Render
。如果我将
.js
添加到使用jquery的
index.cshtml
中,就会出现可怕的“
$
未定义”错误

我知道解决这个问题的唯一方法是将
@Scripts.Render
移动到
部分

正确的方法是什么


提前谢谢

@Scripts.Render
应位于页面的底部。否则,您将面临访问脚本运行时尚未加载的页面元素的风险

编辑:

如果要包含自定义脚本文件,有两种方法:

1。在BundleConfig.cs中,为脚本添加新的捆绑包

 *bundles.Add(new ScriptBundle("~/bundles/UserScripts").Include("~/Scripts/MyScripts.js"));*
接下来,在\u Layout.cshtml中,在jQuery捆绑包之后呈现脚本捆绑包:

    @Scripts.Render("~/bundles/jquery")
    @Scripts.Render("~/bundles/bootstrap")

    @* Render the custom bundles *@
    @Scripts.Render("~/bundles/UserScripts")
2.或向Index.cshtml文件添加新的脚本部分:

@section scripts {

    <script src="~/Scripts/MyScripts.js"></script>**

}
@节脚本{
**
}

是的,我很确定这是真的。但是我放在index.cshtml底部的javascript:因为这需要在jquery js文件之前,如果我要添加的js文件在jquery include之前,会发生什么情况呢?谢谢@ToanNguyen,你的答案很好。