检测Internet Explorer浏览器版本问题

Ole*_*ich 4 asp.net asp.net-mvc-3

我在布局中的MVC3应用程序中获得了Getaway:

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

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

Jam*_*mes 14

问题是HttpBrowserCapabilities aka Request.BrowseruserAgent从请求中解析头,该请求包含有关客户端(在您的情况下是浏览器)的信息,这可能并非总是100%可靠,因为用户代理很容易更改.

如果你知道MajorVersion返回的是什么值,并且它足够一致,你可以为它修复一下.或者,您可以尝试检查低于IE8的浏览器(再次,但不是100%),例如

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