如何使用asp.net知道兼容性是打开还是关闭(c#)

时间:2014-09-10 08:42:21

标签: c# asp.net

如果用户的浏览器兼容性已启用,则需要向用户显示您的浏览器兼容性已打开的消息。

我在google上搜索了很多但是没有找到合适的答案。

我试过下面的代码但是HttpContext.Current.Request.UserAgent总是包含MSIE 7.0

string isOn = string.Empty;

if (HttpContext.Current.Request.UserAgent.IndexOf("MSIE 7.0") > -1)
{
 isOn  = "IE8 Compatibility View";`   

    }
    else
    {
    isOn  = "IE8";
    }

}

1 个答案:

答案 0 :(得分:0)

您可以尝试这样

if (Request.Browser.Type.ToUpper().Contains("IE"))
{
    if (Request.Browser.MajorVersion  < 7)
    { 
        //Show the message here
    }
    ...
}
else if (Request.Browser.Type.Contains("Firefox")) 
{
   //code to show message
}
else if (Request.Browser.Type.Contains("Chrome")) 
{
   //code to show message
}

另请检查 MSDN ,它有自己的方式来检测浏览器

  

查询浏览器属性,其中包含HttpBrowserCapabilities   宾语。此对象从浏览器或客户端设备获取信息   在HTTP请求期间,告诉您的应用程序的类型和级别   支持浏览器或客户端设备优惠。反过来的对象   使用强类型公开有关浏览器功能的信息   属性和通用名称 - 值字典。

private void Button1_Click(object sender, System.EventArgs e)
{
    System.Web.HttpBrowserCapabilities browser = Request.Browser;
    string s = "Browser Capabilities\n"
        + "Type = "                    + browser.Type + "\n"
        + "Name = "                    + browser.Browser + "\n"
        + "Version = "                 + browser.Version + "\n"
        + "Major Version = "           + browser.MajorVersion + "\n"
        + "Minor Version = "           + browser.MinorVersion + "\n"
        + "Platform = "                + browser.Platform + "\n"
        + "Is Beta = "                 + browser.Beta + "\n"
        + "Is Crawler = "              + browser.Crawler + "\n"
        + "Is AOL = "                  + browser.AOL + "\n"
        + "Is Win16 = "                + browser.Win16 + "\n"
        + "Is Win32 = "                + browser.Win32 + "\n"
        + "Supports Frames = "         + browser.Frames + "\n"
        + "Supports Tables = "         + browser.Tables + "\n"
        + "Supports Cookies = "        + browser.Cookies + "\n"
        + "Supports VBScript = "       + browser.VBScript + "\n"
        + "Supports JavaScript = "     + 
            browser.EcmaScriptVersion.ToString() + "\n"
        + "Supports Java Applets = "   + browser.JavaApplets + "\n"
        + "Supports ActiveX Controls = " + browser.ActiveXControls 
              + "\n"
        + "Supports JavaScript Version = " +
            browser["JavaScriptVersion"] + "\n";

    TextBox1.Text = s;
}