StyleBundle呈现为ScriptBundle

时间:2014-11-06 23:58:22

标签: c# asp.net-mvc-5

我的CSS StyleBundle使用<script>代码而不是<link>代码进行呈现。

这让我摸不着头脑。我一直在寻找我的错字,但一切都很好。

这是我的BundleConfig.cs

public static void RegisterBundles(BundleCollection bundles)
{
    bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
                "~/Scripts/jquery-{version}.js"));

    bundles.Add(new ScriptBundle("~/bundles/jqueryui").Include(
    "~/Scripts/jquery-ui-{version}.js"));

    bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
                "~/Scripts/jquery.validate*"));

    bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
                "~/Scripts/modernizr-*"));

    bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include(
              "~/Scripts/bootstrap.js",
              "~/Scripts/respond.js"));

    bundles.Add(new StyleBundle("~/Content/css").Include(
              "~/Content/bootstrap.css",
              "~/Content/site.css"));


    bundles.Add(new StyleBundle("~/Content/themes/base/css").Include(
              "~/Content/themes/base/all.css"));

    BundleTable.EnableOptimizations = false;
}

这是我的_Layout.cshtml的负责人:

<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>@ViewBag.Title - My ASP.NET Application</title>
    @Styles.Render("~/Content/css")
    @Scripts.Render("~/bundles/modernizr")
    @Scripts.Render("~/Content/themes/base/css")
    @RenderSection("head", required: false)
</head>

这就是HTML的呈现方式:

<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Home Page - My ASP.NET Application</title>
    <link href="/Content/bootstrap.css" rel="stylesheet"/>
<link href="/Content/site.css" rel="stylesheet"/>

    <script src="/Scripts/modernizr-2.6.2.js"></script>

    <script src="/Content/themes/base/all.css"></script>


</head>

布局有点偏,所以看起来它似乎已经结束但我无法看到。为什么不在<link>标记中呈现css文件?

1 个答案:

答案 0 :(得分:8)

在你的布局中,这一行:

@Scripts.Render("~/Content/themes/base/css")

应该是:

@Styles.Render("~/Content/themes/base/css")