我试图找出正确的Razor语法,以获得特定*的JavaScript文件。cshtml和所有其他在_Layout.cshtml中定义的包含文件一起放在head标签中。
您可以使用命名节。
_Layout.cshtml
<head>
<script type="text/javascript" src="@Url.Content("/Scripts/jquery-1.6.2.min.js")"></script>
@RenderSection("JavaScript", required: false)
</head>
_SomeView.cshtml
@section JavaScript
{
<script type="text/javascript" src="@Url.Content("/Scripts/SomeScript.js")"></script>
<script type="text/javascript" src="@Url.Content("/Scripts/AnotherScript.js")"></script>
}
为了扩展Stephen patten的答案,并完全改变我之前的答案:
你可以在文件的任何地方添加@RenderSection(“JavaScript”,required: false)行。意思是,它不必在页眉甚至页脚标签中。在我正在寻找工作的代码中,它在一个div中。
此外,您必须将这一行放入任何.cshtml文件中,该文件是包含脚本的部分的父文件。这允许用脚本嵌套部分,而不必在原始的父或子脚本中包含所有脚本。换句话说,简单地在“布局”或原始父文件中拥有RenderSection代码不会自动级联到嵌套的部分。
需要注意的是,您的脚本将分散在呈现给浏览器的结果HTML文件中。这可能会导致调试困难,包括意外地使用相同名称的多个脚本方法或多次包含相同的外部脚本。
推荐文章
- 一元加/数字(x)和parseFloat(x)之间的区别是什么?
- angularjs中的compile函数和link函数有什么区别
- 删除绑定中添加的事件监听器
- 很好的初学者教程socket.io?
- HtmlSpecialChars在JavaScript中等价于什么?
- React: 'Redirect'没有从' React -router-dom'中导出
- 如何在React中使用钩子强制组件重新渲染?
- 我如何使用Jest模拟JavaScript的“窗口”对象?
- 我如何等待一个承诺完成之前返回一个函数的变量?
- 在JavaScript中根据键值查找和删除数组中的对象
- 使嵌套JavaScript对象平放/不平放的最快方法
- 如何以及为什么'a'['toUpperCase']()在JavaScript工作?
- 有Grunt生成index.html不同的设置
- 文档之间的区别。addEventListener和window。addEventListener?
- 如何检查动态附加的事件监听器是否存在?