当我生成MVC5应用时,_Layout.cshtml
在@Scripts.Render
之后的文件末尾有@RenderBody()
。如果我在使用jquery的.js
中添加index.cshtml
,我会感到害怕" $
未定义"错误。
我知道解决此问题的唯一方法是将@Scripts.Render
移至<head>
部分。
什么是正确的方法?
提前致谢!
答案 0 :(得分:14)
@Scripts.Render
应位于页面的底部。否则,您将有可能访问脚本运行时尚未加载的页面元素。
编辑:
如果要包含自定义脚本文件,有两种方法:
<强> 1 即可。在 BundleConfig.cs 中,为脚本添加新的包
*bundles.Add(new ScriptBundle("~/bundles/UserScripts").Include("~/Scripts/MyScripts.js"));*
接下来,在 _Layout.cshtml 中,在jQuery bundle之后渲染脚本包:
@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>**
}