我试图找出正确的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文件中。这可能会导致调试困难,包括意外地使用相同名称的多个脚本方法或多次包含相同的外部脚本。
您可以使用命名节。
_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>
}
推荐文章
- 错误:'types'只能在.ts文件中使用- Visual Studio Code使用@ts-check
- React-Native:应用程序未注册错误
- LoDash:从对象属性数组中获取值数组
- src和dist文件夹的作用是什么?
- jQuery UI对话框-缺少关闭图标
- 如何使用AngularJS获取url参数
- 将RGB转换为白色的RGBA
- 如何将“camelCase”转换为“Camel Case”?
- 我们可以在另一个JS文件中调用用一个JavaScript编写的函数吗?
- 如何使用JavaScript重新加载ReCaptcha ?
- jQuery。由于转义了JSON中的单引号,parseJSON抛出“无效JSON”错误
- 在JavaScript关联数组中动态创建键
- ReactJS和公共文件夹中的图像
- 在React Native中使用Fetch授权头
- 为什么我的球(物体)没有缩小/消失?