下面的代码实现了检测客户端显示器分辨率、浏览器类型和客户端IP的功能。你可以把客户端信息保存到Session,ViewState等中以便在其它的页面直接使用。
ClientPeek.aspx
检测客户端显示器分辨率、浏览器类型和客户端IPClientPeek.aspx.vb
Imports System Public Class ClientPeek Inherits System.Web.UI.Page Protected WithEvents Label1 As System.Web.UI.WebControls.Label Protected WithEvents MyBody As System.Web.UI.HtmlControls.HtmlGenericControl #Region " Web 窗体设计器生成的代码 " '该调用是 Web 窗体设计器所必需的。 Private Sub InitializeComponent() End Sub '注意: 以下占位符声明是 Web 窗体设计器所必需的。 '不要删除或移动它。 Private designerPlaceholderDeclaration As System.Object Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles MyBase.Init 'CODEGEN: 此方法调用是 Web 窗体设计器所必需的 '不要使用代码编辑器修改它。 InitializeComponent() End Sub #End Region Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles MyBase.Load Dim Button1 As New System.Web.UI.WebControls.Button If Not Me.IsPostBack Then Dim btnW As New System.Web.UI.HtmlControls.HtmlInputHidden Dim btnH As New System.Web.UI.HtmlControls.HtmlInputHidden Button1.ID = "Button1" btnW.Name = "WidthPixel" btnW.ID = "WidthPixel" btnH.Name = "HeightPixel" btnH.ID = "HeightPixel" Me.FindControl("browserpeek").Controls.Add(btnW) Me.FindControl("browserpeek").Controls.Add(btnH) Me.FindControl("browserpeek").Controls.Add(Button1) Dim scriptString As String = "" scriptString += "document.browserpeek.WidthPixel.value=window.screen.width;" scriptString += "document.browserpeek.HeightPixel.value=window.screen.height;" Me.RegisterOnSubmitStatement("Meng", scriptString) Me.MyBody.Attributes.Add("onload", "document.browserpeek.Button1.click();") Else Me.MyBody.Attributes.Remove("onload") If Me.FindControl("browserpeek").Controls.Contains(Button1) Then Me.FindControl("browserpeek").Controls.Remove(Button1) Button1.Dispose() End If Dim strLabel As New System.Text.StringBuilder Dim bc As HttpBrowserCapabilities = Request.Browser strLabel.Append("您的浏览器的分辨率为:") strLabel.Append(Request.Form("WidthPixel")) strLabel.Append("×") strLabel.Append(Request.Form("HeightPixel")) strLabel.Append("") strLabel.Append("浏览器基本信息: ") strLabel.Append("Type = " & bc.Type & " ") strLabel.Append("Name = " & bc.Browser & " ") strLabel.Append("Version = " & bc.Version & " ") strLabel.Append("Major Version = " & bc.MajorVersion & " ") strLabel.Append("Minor Version = " & bc.MinorVersion & " ") strLabel.Append("Platform = " & bc.Platform & " ") strLabel.Append("Is Beta = " & bc.Beta & " ") strLabel.Append("Is Crawler = " & bc.Crawler & " ") strLabel.Append("Is AOL = " & bc.AOL & " ") strLabel.Append("Is Win16 = " & bc.Win16 & " ") strLabel.Append("Is Win32 = " & bc.Win32 & " ") strLabel.Append("支持 Frames = " & bc.Frames & " ") strLabel.Append("支持 Tables = " & bc.Tables & " ") strLabel.Append("支持 Cookies = " & bc.Cookies & " ") strLabel.Append("支持 VB Script = " & bc.VBScript & " ") strLabel.Append("支持 JavaScript = " & bc.JavaScript & " ") strLabel.Append("支持 Java Applets = " & bc.JavaApplets & " ") strLabel.Append("支持 ActiveX Controls = " & bc.ActiveXControls & " ") strLabel.Append("CDF = " & bc.CDF & " ") strLabel.Append("W3CDomVersion = " + bc.W3CDomVersion.ToString + " ") strLabel.Append("UserAgent = " + Request.UserAgent + " ") strLabel.Append("UserLanguages = " + Request.UserLanguages(0).ToString + " ") strLabel.Append("
") strLabel.Append("客户端计算机基本配置: ") strLabel.Append("UserHostName = " + Request.UserHostName + " ") strLabel.Append("UserHostAddress = " + Request.UserHostAddress + " ") Label1.Text = strLabel.ToString() End If End Sub End Class
C#代码
ClientPeek.aspx
检测客户端显示器分辨率、浏览器类型和客户端IPClientPeek.aspx.cs
using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; namespace eMeng.Exam { /// /// CheckPeek 的摘要说明。 /// public class ClientPeek : System.Web.UI.Page { protected System.Web.UI.WebControls.Label Label1; protected System.Web.UI.HtmlControls.HtmlGenericControl MyBody; private void Page_Load(object sender, System.EventArgs e) { // 在此处放置用户代码以初始化页面 System.Web.UI.WebControls.Button Button1 = new System.Web.UI.WebControls.Button(); if(!IsPostBack) { System.Web.UI.HtmlControls.HtmlInputHidden btnW = new System.Web.UI.HtmlControls.HtmlInputHidden(); System.Web.UI.HtmlControls.HtmlInputHidden btnH = new System.Web.UI.HtmlControls.HtmlInputHidden(); System.Web.UI.HtmlControls.HtmlInputHidden btnPDF = new System.Web.UI.HtmlControls.HtmlInputHidden(); Button1.ID = "Button1"; btnW.Name = "WidthPixel"; btnW.ID = "WidthPixel"; btnH.Name = "HeightPixel"; btnH.ID = "HeightPixel"; btnPDF.Name = "PDF"; btnPDF.ID = "PDF"; this.FindControl("browserpeek").Controls.Add(btnW); this.FindControl("browserpeek").Controls.Add(btnH); this.FindControl("browserpeek").Controls.Add(btnPDF); this.FindControl("browserpeek").Controls.Add(Button1); string scriptString = ""; scriptString += "document.all.browserpeek.WidthPixel.value=window.screen.width;\r\n"; scriptString += "document.all.browserpeek.HeightPixel.value=window.screen.height;\r\n"; scriptString += "document.all.browserpeek.PDF.value=PDFPlugin;\r\n"; this.RegisterOnSubmitStatement("Meng", scriptString); this.MyBody.Attributes.Add("onload", "document.all."+Button1.ClientID+".click();"); } else { this.MyBody.Attributes.Remove("onload"); if(this.FindControl("browserpeek").Controls.Contains(Button1)) { this.FindControl("browserpeek").Controls.Remove(Button1); Button1.Dispose(); } System.Text.StringBuilder strLabel = new System.Text.StringBuilder(); HttpBrowserCapabilities bc = Request.Browser; strLabel.Append("您的浏览器的分辨率为:"); strLabel.Append(Request.Form["WidthPixel"]); strLabel.Append("×"); strLabel.Append(Request.Form["HeightPixel"]); strLabel.Append(""); strLabel.Append("浏览器基本信息: "); strLabel.Append("Type = " + bc.Type + " "); strLabel.Append("Name = " + bc.Browser + " "); strLabel.Append("Version = " + bc.Version +" "); strLabel.Append("Major Version = " + bc.MajorVersion + " "); strLabel.Append("Minor Version = " + bc.MinorVersion + " "); strLabel.Append("Platform = " + bc.Platform + " "); strLabel.Append("Is Beta = " + bc.Beta + " "); strLabel.Append("Is Crawler = " + bc.Crawler + " "); strLabel.Append("Is AOL = " + bc.AOL + " "); strLabel.Append("Is Win16 = " + bc.Win16 + " "); strLabel.Append("Is Win32 = " + bc.Win32 + " "); strLabel.Append("支持 Frames = " + bc.Frames + " "); strLabel.Append("支持 Tables = " + bc.Tables + " "); strLabel.Append("支持 Cookies = " + bc.Cookies + " "); strLabel.Append("支持 VB Script = " + bc.VBScript + " "); strLabel.Append("支持 JavaScript = " + bc.JavaScript + " "); strLabel.Append("支持 Java Applets = " + bc.JavaApplets + " "); strLabel.Append("支持 ActiveX Controls = " + bc.ActiveXControls + " "); strLabel.Append("CDF = " + bc.CDF + " "); strLabel.Append("W3CDomVersion = " + bc.W3CDomVersion.ToString() + " "); strLabel.Append("UserAgent = " + Request.UserAgent + " "); strLabel.Append("UserLanguages = " + Request.UserLanguages[0].ToString() + " "); strLabel.Append("
"); strLabel.Append("客户端计算机基本配置: "); strLabel.Append("UserHostName = " + Request.UserHostName + " "); strLabel.Append("UserHostAddress = " + Request.UserHostAddress + " "); strLabel.Append("PDF 6.0 插件是否安装 = " + Request.Form["PDF"] + " "); Label1.Text = strLabel.ToString(); } } #region Web 窗体设计器生成的代码 override protected void OnInit(EventArgs e) { // // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。 // InitializeComponent(); base.OnInit(e); } /// /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// private void InitializeComponent() { this.Load += new System.EventHandler(this.Page_Load); } #endregion } }