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

最佳答案

显然,您无法在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 -->

关于c# - MVC4捆绑(基于设备类型),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13240169/

10-13 01:31