2

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

4

2 回答 2

3

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

您可以查看此 MVC 4 教程中的示例代码:

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 -->
于 2012-11-05T21:04:19.220 回答
0

为您想要支持的所有设备创建捆绑包BundleConfig。然后,在您看来,使用基于从Request.Browser.

于 2012-11-05T21:03:11.353 回答