【问题标题】:detecting browser with asp.net mvc2使用 asp.net mvc2 检测浏览器
【发布时间】:2011-09-03 21:28:49
【问题描述】:

在正常的 asp.net 中,以下工作:

   private float getInternetExplorerVersion()
{
  // Returns the version of Internet Explorer or a -1
  // (indicating the use of another browser).
  float rv = -1;
  System.Web.HttpBrowserCapabilities browser = Request.Browser;
  if (browser.Browser == "IE")
    rv = (float)(browser.MajorVersion + browser.MinorVersion);
  return rv;
}

但在 asp.net mvc2 中出现“System.Web.HttpBrowserCapabilities browser = Request.Browser;”错误:

无法将类型“System.Web.HttpBrowserCapabilitiesBase”隐式转换为“System.Web.HttpBrowserCapabilities”

谢谢 阿纳布

【问题讨论】:

    标签: asp.net-mvc-2


    【解决方案1】:

    这是因为 Browser 属性的类型是 HttpBrowserCapabilitiesBase 而不是 HttpBrowserCapabilities。所以要么使用隐式var,要么指定正确的类型:

    float rv = -1;
    var browser = Request.Browser;
    if (browser.Browser == "IE")
        rv = (float)(browser.MajorVersion + browser.MinorVersion);
    

    或者如果您喜欢输入大量代码:

    float rv = -1;
    System.Web.HttpBrowserCapabilitiesBase browser = Request.Browser;
    if (browser.Browser == "IE")
        rv = (float)(browser.MajorVersion + browser.MinorVersion);
    

    【讨论】:

      猜你喜欢
      • 2011-02-22
      • 2013-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-14
      • 2021-11-21
      • 2016-01-01
      相关资源
      最近更新 更多