【发布时间】:2012-10-13 22:29:07
【问题描述】:
我正在使用 MVC4 StyleBundle 来捆绑一堆 CSS。只有 IE 9 或更低版本才需要一个 CSS。
在我的BundleConfig 类RegisterBundles 方法中,我有:
if (HttpContext.Current.Request.Browser.Browser.Trim().ToUpperInvariant().Equals("IE") && HttpContext.Current.Request.Browser.MajorVersion <= 9)
cssBundle.Include("~/Content/ie.css");
但后来我收到了Request is not available in this context 错误。 RegisterBundles方法期间是不是不能检测到浏览器?
【问题讨论】:
-
您是在 Global.asax 中创建这些捆绑包吗?这就是导致此错误的原因。我不认为捆绑包支持基于请求的捆绑包,而是一个全局捆绑包。
-
@Tejs,它的调用地址是
Application_Start。 -
是的,我不相信该框架提供了基于变体的捆绑包。这是一个全球性的全有或全无。如果你想为每个浏览器制作不同的包,你需要制作所有单独的包,然后在每个视图中写入对你想要的包的引用。
标签: c# asp.net-mvc-4 asp.net-optimization