Asp.net mvc 2 使用asp.net mvc2检测浏览器

Asp.net mvc 2 使用asp.net mvc2检测浏览器,asp.net-mvc-2,Asp.net Mvc 2,在普通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;

在普通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”

谢谢 Arnab

这是因为属性的类型不是。因此,使用隐式
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);