如何根据浏览器版本捆绑特定的CSS?

我正在使用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错误中Request is not available in this context 。 在RegisterBundles方法中是否无法检测浏览器?

是的Tejs是正确的。 捆绑包是全局的,不能根据请求变化,因为它们在首次引用后缓存在服务器上。 因此,您在上面所做的事情的问题在于,取决于首先访问请求的浏览器,这将填充缓存并确定所有后续请求将被接收的内容,无论它们是否是IE9。

你可以添加如下内容:

  

在这个例子中,我使用库Zepto和Jquery(如果它是Internet Explorer)。 这对我来说可以。 皮埃尔