-2

试图从客户端检索浏览器版本我有点困惑。我使用两种方法来检查并比较结果以进行测试。

  1. HttpContext.Current.Request.ServerVariables["HTTP_USER_AGENT"];
  2. System.Web.HttpBrowserCapabilities browser = HttpContext.Current.Request.Browser; string version = browser.Version;

当我在本地开发机器上使用内置的 VS2012 开发服务器而不是在 IE 10 Web 浏览器中查看时,结果是(客户端结果是真的):

  1. 您的浏览器是:IE 10.0
  2. Mozilla/5.0(兼容;MSIE 10.0;Windows NT 6.1;WOW64;Trident/6.0)

当我上传到生产服务器(IIS 7.5 Windows 2008 R2)并在同一个客户端 Web 浏览器(IE 10)中打开或使用 IE 9、8 浏览器的不同客户端时,结果如下(不是每个客户端都有不同的浏览器):

  1. 7.0
  2. Mozilla/4.0(兼容;MSIE 7.0;Windows NT 6.1;WOW64;Trident/6.0;SLCC2;.NET CLR 2.0.50727;.NET CLR 3.5.30729;.NET CLR 3.0.30729;Media Center PC 6.0;.NET4。 0C;InfoPath.3;.NET4.0E)

如果我的假设是正确的,我应该如何在 C# 中使用上面的代码来拥有客户端浏览器版本而不是服务器。

4

1 回答 1

3

对于某些本地 Intranet 地址,IE 将默认为传统模式——这很可能会将其打扮成在服务器上看起来像 IE7。

将 a 添加<meta http-equiv="X-UA-Compatible" content="IE=edge" />到您的页面,看看是否有帮助。

于 2013-04-29T20:41:44.450 回答