MVC4捆绑(基于设备类型)

时间:2012-11-05 20:51:21

标签: c# asp.net-mvc asp.net-mvc-4 bundling-and-minification

所以看看bundleconfig.cs它应该允许根据设备类型进行捆绑。只有问题是因为它在App_Start中它不允许我访问Request对象。任何有关如何使基于设备的捆绑成为可能的想法?

2 个答案:

答案 0 :(得分:3)

显然,您无法在App_Start中访问请求,因为此时没有向您的应用发出请求。 BundleConfig.cs仅声明哪些捆绑包可用,您应在视图中选择正确的捆绑包。

您可以查看this MVC 4 tutorial中的示例代码:

BundleMobileConfig.cs

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

        bundles.Add(new StyleBundle("~/Content/Mobile/css").
            Include("~/Content/Site.Mobile.css"));

        bundles.Add(new StyleBundle("~/Content/jquerymobile/css").
            Include("~/Content/jquery.mobile-{version}.css"));
    }
}

_Layout.Mobile.cshtml

<head>
    <meta charset="utf-8" />
    <title>@ViewBag.Title </title>
    <meta name="viewport" content="width=device-width" />

    @Styles.Render("~/Content/css")
    @Scripts.Render("~/bundles/modernizr")
    @Styles.Render("~/Content/Mobile/css", "~/Content/jquerymobile/css")    
</head>
<!-- etc -->

答案 1 :(得分:0)

BundleConfig中要支持的所有设备创建捆绑包。然后,在您的视图中,根据派生自Request.Browser

的设备使用相应的捆绑包