在asp.net mvc中的视图中包含JS文件

时间:2011-10-26 00:23:08

标签: asp.net-mvc razor

是否可以在asp.net mvc的View中包含.js文件? 我使用razor引擎,MVC 3。

看起来标题已经在_Layout.cshtml中定义了....所以我几乎必须在布局文件中包含我所有的js文件?

2 个答案:

答案 0 :(得分:2)

您可以在布局文件中定义可选部分。然后在你的视图中定义它。

_Layout.cshtml

<head>
  ..
  @RenderSection("Includes", required: false)
  ..
</head>

在你看来

@section Includes {
   <script ...
}

答案 1 :(得分:1)

另一种可用于组织和加载javascript的方法是使用布局文件中的以下行。

   <script src="@Url.Content("~/Scripts/ViewScripts/" + 
                 ViewContext.RouteData.Values["controller"].ToString() + "." +
                 ViewContext.RouteData.Values["action"].ToString() + ".js")" 
                 type="text/javascript"></script>

然后,您可以为每个控制器操作/视图创建单独的js文件。例如,如果您要使用默认控制器专门为主页加载脚本,则可以创建名为home.index.js的文件或关于页面home.about.js

的文件

这提供了一种在小型可管理文件中组织特定于页面的javascript的方法,而无需特定地为每个页面加载脚本。如果Controller / Action有一个文件,它将被加载,如果没有,它将被跳过。