4

我在 Layout 的 MVC3 应用程序中有 Getaway:

@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 版本?可能这是特定的操作系统问题吗?

4

2 回答 2

14

问题是HttpBrowserCapabilities akaRequest.Browser类解析userAgent请求的标头,其中包含有关客户端(在您的情况下为浏览器)的信息,由于用户代理很容易更改,因此可能并不总是 100% 可靠。

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

@if ((Request.Browser.Browser == "IE") && ((Request.Browser.MajorVersion < 8)))
{
    //show IE7 content
}
else
{
    //show IE8+ content 
}
于 2012-12-12T10:01:48.193 回答
3

版本号需要特定于 IE。

 if (Request.Browser.Browser == "IE" && Request.Browser.Version == "7.0") 
        { 
          //Show IE 7 content
        }
 else
  {
     // Show other than IE7 content
  }
于 2012-12-12T10:29:51.597 回答