将Bundles添加到现有的ASP.NET Webforms解决方案中

时间:2015-05-28 14:00:57

标签: c# asp.net webforms bundle

我正在尝试将Bundles添加到现有的ASP.NET Webforms解决方案中,但我的bundle总是呈现为空,我不确定为什么。我一直关注this blog post

到目前为止,我有:

  • 添加了Microsoft ASP.NET Web Optimization Framework NuGet包
  • 确保包含所需的参考资料
  • 尝试使用debug =" false"和debug =" true"在Web.config
  • 在我的解决方案中添加了以下代码

的Global.asax.cs

1em

App_Start / BundleConfig.cs

Incompatible units: 'px' and 'em'

的Site.Master

protected void Application_Start(object sender, EventArgs e)
{
    BundleConfig.RegisterBundles(BundleTable.Bundles);
}

的Web.Config

public class BundleConfig
{
    // For more information on Bundling, visit http://go.microsoft.com/fwlink/?LinkID=303951
    public static void RegisterBundles(BundleCollection bundles)
    {
        bundles.Add(new ScriptBundle("~/bundles/Global").Include(
            "~/js/jquery-{version}.js",
            "~/js/jquery-ui.js"));

        bundles.Add(new ScriptBundle("~/bundles/GlobalHead").Include(
            "~/js/modernizr*"));

        bundles.Add(new StyleBundle("~/Content/Global").Include(
            "~/css/site.css"));
    }
}

更新

要明确的是,当我打开网页并使用chrome dev工具检查资源时,我可以看到

<head runat="server">
    <asp:PlaceHolder runat="server">
        <%: Scripts.Render("~/bundle/GlobalHead") %>
        <%: Styles.Render("~/Content/Global") %>
    </asp:PlaceHolder>
</head>
<body>
    <%: Scripts.Render("~/bundle/Global") %>
</body>

但在检查时,他们没有内容。

1 个答案:

答案 0 :(得分:25)

简单的解决方案,我有一些输入错误。

在Site.Master中,我从捆绑结束时错过了's'。使我的Site.Master看起来像这样。

<head runat="server">
    <asp:PlaceHolder runat="server">
        <%: Scripts.Render("~/bundles/GlobalHead") %>
        <%: Styles.Render("~/Content/Global") %>
    </asp:PlaceHolder>
</head>
<body>
    <%: Scripts.Render("~/bundles/Global") %>
</body>