如何将JavaScript包含到页眉MVC4中

Dev*_*per 7 javascript asp.net-mvc-3 asp.net-mvc-4

可能重复:
ASP.Net MVC 3 Razor:在head标签中包含js文件

我不想在一些布局中放入大量的JS,我需要为某些特定页面执行此操作,我的意思是将一些JS包含在其标题中.

我尝试过这样但是它不能正常工作.

@{
    Layout = "~/Views/Shared/_LayoutInner.cshtml";
    @Scripts.Render("~/Scripts/farbtastic/farbtastic.js")
    @Styles.Render("~/Scripts/farbtastic/farbtastic.css")
    @Scripts.Render("~/Scripts/jquery.tinycarousel.min.js")
    @Scripts.Render("~/Scripts/jquery-ui-1.8.11.min.js")
}
<script type="text/javascript" charset="utf-8">
    $(document).ready(function () {
        $('#slider1').tinycarousel();
        $("#accordion").accordion();
        $('#picker').farbtastic('#color');
    });
</script>
Run Code Online (Sandbox Code Playgroud)

我试过这样的

@{
    Layout = "~/Views/Shared/_LayoutInner.cshtml";
  <script type="text/javascript" src="@Url.Content("~/Scripts/farbtastic/farbtastic.js")"></script>
<link href="@Url.Content("~/Scripts/farbtastic/farbtastic.css")" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="@Url.Content("~/Scripts/jquery.tinycarousel.min.js")"></script>
<script type="text/javascript" src="@Url.Content("~/Scripts/jquery-ui-1.8.11.min.js")"></script>
}
Run Code Online (Sandbox Code Playgroud)

并没有成功.

我怎么归档呢?

ssi*_*777 12

我相信_LayoutInner.cshtml你应该像这样提到JS文件

<head>
<link href="@Url.Content("~/Scripts/farbtastic/farbtastic.css")" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="@Url.Content("~/Scripts/jquery-ui-1.8.11.min.js")"></script>
</head>
Run Code Online (Sandbox Code Playgroud)

要实现目标,您必须在_LayoutInner.cshtml页面头部分添加两个命名部分,如下所示 -

<head>
<link href="@Url.Content("~/Scripts/farbtastic/farbtastic.css")" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="@Url.Content("~/Scripts/jquery-ui-1.8.11.min.js")"></script>
 @RenderSection("JavaScript", required: false)
 @RenderSection("CSS", required: false)
</head>
Run Code Online (Sandbox Code Playgroud)

现在在您的其他页面中包含额外的javascript或css页面使用这些命名的部分

@section JavaScript
{
   <script type="text/javascript"src="@Url.Content("~/Scripts/farbtastic/farbtastic.js")"></script>
   <script type="text/javascript" src="@Url.Content("~/Scripts/jquery.tinycarousel.min.js")"></script>
}

@section CSS
{
  <link href="@Url.Content("~/Scripts/farbtastic/farbtastic.css")" rel="stylesheet" type="text/css" />
}
Run Code Online (Sandbox Code Playgroud)

是否包含javascript和css的不同命名部分取决于您.

希望能帮助到你!

  • 不,你必须在你想要包含这些JS文件的页面中使用部分.通常这些部分不仅用于包含外部文件,它意味着在最终响应中输出这些部分中的动态内容.在这种情况下,你可以在头部分中查看最终响应中的javascript文件和css文件. (2认同)