ASP.NET中如何获取客户端浏览器信息

本文介绍在ASP.NET中如何使用HttpBrowserCapabilities类获取客户端浏览器信息,包括操作系统、浏览器类型、版本等详细信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ASP.NET中如何获取客户端浏览器信息

如果想在服务器获取客户端浏览器信息,可使用 HttpBrowserCapabilities 类轻松实现。

HttpBrowserCapabilities 的名称空间是:System.Web。该名称空间默认是导入的。

示例:

<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
     void Page_Load(object sender, EventArgs e)
     {
         HttpBrowserCapabilities bc = Request.Browser;
       
         list.Text = "";
         list.Text += "操作系统:" + bc.Platform + "<br>";
         list.Text += "是否是 Win16 系统:" + bc.Win16 + "<br>";
         list.Text += "是否是 Win32 系统:" + bc.Win32 + "<br>";
         list.Text += "---<br>";
       
         list.Text += "浏览器:" + bc.Browser + "<br>";
         list.Text += "浏览器标识:" + bc.Id + "<br>";
         list.Text += "浏览器版本:" + bc.Version + "<br>";
         list.Text += "浏览器 MajorVersion:" +

bc.MajorVersion.ToString() + "<br>";
         list.Text += "浏览器 MinorVersion:" +

bc.MinorVersion.ToString() + "<br>";
         list.Text += "浏览器是否是测试版本:" + bc.Beta.ToString() +

"<br>";
         list.Text += "是否是 America Online 浏览器:" + bc.AOL +

"<br>";
         list.Text += "客户端安装的 .NET Framework 版本:" +

bc.ClrVersion + "<br>"; //即使安装了 .NET Framework,如果不是 IE 浏览

器,检测版本都是 0.0。
         list.Text += "是否是搜索引擎的网络爬虫:" + bc.Crawler +

"<br>";
         list.Text += "是否是移动设备:" + bc.IsMobileDevice + "<br>";
         list.Text += "---<br>";        

         list.Text += "显示的颜色深度:" + bc.ScreenBitDepth + "<br>";
         list.Text += "显示的近似宽度(以字符行为单位):" +

bc.ScreenCharactersWidth + "<br>";
         list.Text += "显示的近似高度(以字符行为单位):" +

bc.ScreenCharactersHeight + "<br>";
         list.Text += "显示的近似宽度(以像素行为单位):" +

bc.ScreenPixelsWidth + "<br>";
         list.Text += "显示的近似高度(以像素行为单位):" +

bc.ScreenPixelsHeight + "<br>";
         list.Text += "---<br>";
       
         list.Text += "是否支持 CSS:" + bc.SupportsCss + "<br>";
         list.Text += "是否支持 ActiveX 控件:" +

bc.ActiveXControls.ToString() + "<br>";
         list.Text += "是否支持 JavaApplets:" +

bc.JavaApplets.ToString() + "<br>";
         list.Text += "是否支持 JavaScript:" +

bc.JavaScript.ToString() + "<br>";
         list.Text += "JScriptVersion:" + bc.JScriptVersion.ToString

() + "<br>";
         list.Text += "是否支持 VBScript:" + bc.VBScript.ToString() +

"<br>";
         list.Text += "是否支持 Cookies:" + bc.Cookies + "<br>";
         list.Text += "支持的 MSHTML 的 DOM 版本:" + bc.MSDomVersion

+ "<br>";
         list.Text += "支持的 W3C 的 DOM 版本:" + bc.W3CDomVersion +

"<br>";
         list.Text += "是否支持通过 HTTP 接收 XML:" +

bc.SupportsXmlHttp + "<br>";
         list.Text += "是否支持框架:" + bc.Frames.ToString() +

"<br>";
         list.Text += "超链接 a 属性 href 值的最大长度:" +

bc.MaximumHrefLength + "<br>";
         list.Text += "是否支持表格:" + bc.Tables + "<br>";
     }
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
     <title>ASP.NET 中如何获取客户端浏览器信息 - 千一网络</title>
</head>
<body>
     <form id="form1" runat="server">
     <div>
     <asp:Label ID="list" runat="server"></asp:Label>
     </div>
     </form>
</body>
</html>

ScreenCharactersWidth、ScreenCharactersHeight、ScreenPixelsWidth、ScreenPixelsHeight 并不能确定屏幕分辨率,在http://msdn2.microsoft.com/zh-cn/library/system.web.configuration.httpcapabilitiesbase.screencharactersheight(VS.80).aspx可以看到:

返回值可从设定的字符大小和实际屏幕像素大小推出。确定高度的算法使用以下三项的组合:默认字体大小(来自 .config 文件);浏览器特定大小(也来自 .config 文件);浏览器发送的显式标头。某些浏览器可能依赖内部默认值,这些值只是近似于实际高度。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值