我们知道,ASP.NET 本身可以自动确定客户端信息,根据该信息为 ASP.NET 服务器控件呈现适当的 HTML 标记和脚本代码;
同时ASP.NET也为开发人员提供了丰富的API,以获取客户端信息,主要通过HttpRequest对象的Browser和UserAgent属性公开的实用类库。其中Browser属性公开了HttpBrowserCapabilities对象,通过该对象我们能够访问到丰富的客户端信息,而UserAgent只是提供了一串简单的从浏览器传递到服务器的用户代理(一般就是浏览器)信息(默认情况下ASP.NET通过该信息来确定浏览器的功能,并根据配置文件(asp.net1.x)和浏览器定义文件(asp.net2.x)中的代理项来匹配用户代理信息);而HttpRequest对象本身需要通过HttpApplication、HttpContext、Page 和 UserControl 类的 Request 属性公开。
这些使用类库,在开发自定义控件的时候,非常的有用。我们可以根据客户端特性,监测其是IE还是Firefox或者Netscape来发送不同版本的HTML、DHTML控件呈现。
HttpBrowserCapabilities在asp.net1.x 的时候已经得到支持,在asp.net2. 0又得到了非常的扩充,特别是为了满足ClientCallback(客户端【无刷新】回调),以及MS自己的AJAX库Altas,比如当需要确定客户端是否十分支持AtiveX控件、CSS、ClientCallback和XMLHttp时,可以使用如下代码:


























http://msdn2.microsoft.com/zh-CN/library/system.web.httpbrowsercapabilities(VS.80).aspx。
说明:本文应用平台是.net framework 2.0,是在参考MSDN相关文章的基础上总结的。