我正在使用request.browser在ASP.NET中获取IE11浏览器版本,但将版本称为0.00



我的代码是:

protected void btn_log_Click(object sender, EventArgs e)
    {
     System.Web.HttpBrowserCapabilities browser = Request.Browser;
     string opSystem = browser.Platform;
     string browserName = browser.Browser;
     string Version = browser.Version;
    }

我的问题:我将IE11版本为0.00,浏览器名称为Mozilla

您可以尝试从Useragent获取浏览器版本。这样的代码:

var userAgent = HttpContext.Current.Request.UserAgent;
var userBrowser = new HttpBrowserCapabilities { Capabilities = new Hashtable { { string.Empty, userAgent } } };
var factory = new BrowserCapabilitiesFactory();
factory.ConfigureBrowserCapabilities(new NameValueCollection(), userBrowser);
Label1.Text = userBrowser.Browser + "--" + userBrowser.Version;

这是一篇有关如何在ASP.NET中检测浏览器文件中的浏览器的文章,您也可以检查它。

此外,我认为您还可以使用JavaScript检测浏览器版本,您可以检查本文。

 html
      <input id="lblver" type="hidden" runat="server" />  
 java script
  <script type="text/javascript">
  var rv = -1;
  var lblver = '<%= lblver.ClientID %>';
  if (navigator.appName == 'Microsoft Internet Explorer') {
      var ua = navigator.userAgent;
      var re = new RegExp("MSIE ([0-9]{1,}[.0-9]{0,})");
      if (re.exec(ua) != null)
      rv = parseFloat(RegExp.$1);
  }
  else if (navigator.appName == 'Netscape') {
      var ua = navigator.userAgent;
      var re = new RegExp("Trident/.*rv:([0-9]{1,}[.0-9]{0,})");
      if (re.exec(ua) != null)
          rv = parseFloat(RegExp.$1);
  }
  document.getElementById(lblver).value = rv;
  </script>
 c# code
 Version = lblver.Value;

相关内容

最新更新