【问题标题】:How to to include JavaScript into the page header MVC4 [duplicate]如何在页面标题 MVC4 中包含 JavaScript [重复]
【发布时间】:2012-08-25 04:59:15
【问题描述】:

可能重复:
ASP.Net MVC 3 Razor: Include js file in Head tag

我不想将大量 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>

我试过这样

@{
    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>
}

而且根本没有成功。

如何归档?

【问题讨论】:

  • 你不能定义一个head标签并在页面中引用JS吗?
  • @ssilas777 哦!我该怎么做?
  • 检查这个问题:stackoverflow.com/questions/4311783/…我想这就是你所需要的。
  • 作为旁注,Scripts.RenderStyles.Render 用于 Bundling and Minification,而不是引用单个文件。
  • 不是一个真正的答案,我厌倦了 System.Web.Optimization 的东西,试图将 Modernizr 放在标题中,有时不包括新的 Javascript 文件,然后切换到 getcassette.net A轻微的学习曲线,但它比内置的捆绑东西有很多好处,恕我直言。

标签: javascript asp.net-mvc-3 asp.net-mvc-4


【解决方案1】:

我敢肯定,在您的 _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>

要实现您的目标,您必须像这样将两个命名部分添加到您的 _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>

现在在您的其他页面中包含额外的 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" />
}

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

希望对你有帮助!

【讨论】:

  • 非常感谢!!!!最后一个问题:我是否将 SECTIONS 保留在一些外部文件中?
  • 不,您必须在要包含这些 JS 文件的页面中使用部分。通常,这些部分不仅用于包含外部文件,还用于在这些部分中输出动态内容最终响应。在这种情况下,您可以在 head 部分的最终响应中看到 javascript 文件和 css 文件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-12
相关资源
最近更新 更多