【问题标题】:ASP.NET MVC 3 Razor: Include JavaScript file in the head tagASP.NET MVC 3 Razor:在 head 标记中包含 JavaScript 文件
【发布时间】:2010-11-30 08:21:41
【问题描述】:

我正在尝试找出正确的 Razor 语法,以获取特定 *.cshtml 的 JavaScript 文件以及 _Layout.cshtml 中定义的所有其他包含文件。

【问题讨论】:

  • 你还应该考虑把js放在页面底部而不是head部分。
  • 我在示例代码中发现的唯一问题是@section "JavaScript" 不需要用引号括起来。
  • 还有一点:如果这是一个 JavaScript 标签,请注意使用,我需要使用脚本元素的 END 标签才能使其正常运行。 ;
  • @Mattias Jakobsson - 并非总是如此。这取决于具体情况。
  • @Dimskiy 如果你允许我成为一个单词解析器和书呆子,你确实应该始终考虑将 js 放在底部,无论你是否真的把它放在那里。

标签: javascript asp.net-mvc include razor asp.net-mvc-3


【解决方案1】:

您可以使用Named Sections

_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>
}

【讨论】:

  • 是的,我正在查看 WebPageBase 并猜测这可能是答案,但不太了解正确的语法。您能推荐 MVC 3 的参考指南吗?问候..
  • 哈!我希望有 MVC 3 和 Razor 语法的参考指南。我从顾的博客上得到了以上内容。 MVC 3 的最佳参考可能是发行说明。
  • 哦,好的提示w.r.t。 &lt;script&gt; 标签的关闭标签 - 不知道(尚未尝试使用 JS 命名部分)。现在我(和其他人)会知道
  • 仅供参考:Javascript 应该在 &lt;/body&gt; 标记之前呈现,而不是在 head 标记中。这样就不会阻止浏览器进行并行下载。见developer.yahoo.com/performance/rules.html
  • @Peter - 是的,我知道 - 但我只是在解决答案(头部标签中的 JS)。
猜你喜欢
  • 1970-01-01
  • 2010-09-21
  • 1970-01-01
  • 2015-02-01
  • 1970-01-01
  • 2011-11-18
  • 2018-07-05
  • 2011-03-24
  • 1970-01-01
相关资源
最近更新 更多