我试图找出正确的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文件中。这可能会导致调试困难,包括意外地使用相同名称的多个脚本方法或多次包含相同的外部脚本。
推荐文章
- 在JavaScript中检查字符串包含另一个子字符串的最快方法?
- 检测视口方向,如果方向是纵向显示警告消息通知用户的指示
- ASP。NET MVC 3 Razor:在head标签中包含JavaScript文件
- 禁用从HTML页面中拖动图像
- 使用querySelectorAll检索直接的子节点
- 对象作为React子对象无效。如果要呈现子元素的集合,请使用数组
- Redux @connect装饰器中的“@”(at符号)是什么?
- 使函数等待元素存在
- return停止循环吗?
- 我如何从一个URL获得片段标识符(哈希#后的值)?
- 如何从控制器函数切换视图?
- 执行以字符串形式存储的JavaScript代码
- HTML表单上的默认提交按钮是如何确定的?
- 将JS对象转换为表单数据
- 如何有条件元素和保持干燥与Facebook React的JSX?