检测Internet Explorer浏览器版本问题

时间:2012-12-12 09:29:25

标签: asp.net asp.net-mvc-3

我在布局中使用了MVC3应用程序:

@if ((Request.Browser.Browser == "IE") && ((Request.Browser.MajorVersion == 7)))
{
//show some content
}
else
{
//show another content 
}

我有很多用户抱怨(使用Internet Explorer 8的用户)。他们从我的应用程序中看到Internet Explorer 7内容。 我检测Internet Explorer 7版本的方式有什么问题? 如何在我的应用程序中确保100%用户拥有Internet Explorer 7版本? 可能这是特定的操作系统问题吗?

2 个答案:

答案 0 :(得分:13)

问题是HttpBrowserCapabilities又名Request.Browser类从请求中解析userAgent标头,该标头包含有关客户端(在您的情况下是浏览器)的信息,该信息可能并非总是100%因为用户代理很容易改变,所以可靠。

如果您知道MajorVersion返回的值是什么,并且它足够一致,您可能会为其修复此问题。或者,您可以尝试检查低于IE8的浏览器(但同样,不是100%),例如。

@if ((Request.Browser.Browser == "IE") && ((Request.Browser.MajorVersion < 8)))
{
    //show IE7 content
}
else
{
    //show IE8+ content 
}

答案 1 :(得分:3)

版本号需要特定于IE。

 if (Request.Browser.Browser == "IE" && Request.Browser.Version == "7.0") 
        { 
          //Show IE 7 content
        }
 else
  {
     // Show other than IE7 content
  }