一、Request对象
1.定义:Request对象用于检索从浏览器向服务器发送的请求中的信息。它提供对当前页面请求的访问,包括标题、Cookie、客户端证书、查询字符串等,与HTTP协议的请求消息相对应。
2.常用属性
属性 | 说明 |
ApplicationPath | 获取服务器上ASP.NET应用程序虚拟应用程序的根目录 |
Browser | 获取或设置有关正在请求的客户端浏览器的功能信息 |
ContentLength | 指定客户端发送的内容长度(以字节计) |
Cookies | 获取客户端发送的Cookie集合 |
FilePath | 获取当前请求的虚拟路径 |
Files | 获取采用多部分MIME格式的由客户端上传的文件 |
Form | 获取窗体变量集合 |
Item | 从Cookies、Form、QueryString或ServerVariables集合中获取指定的对象 |
Params | 获取QueryString、Form、ServerVariables和Cookies项的组合集合 |
Path | 获取当前请求的虚拟路径 |
QueryString | 获取HTTP查询字符串变量集合 |
UserHostAddress | 获取远程客户端IP主机地址 |
UserHostName | 获取远程客户端DNS名称 |
3.常用方法
方法 | 说明 |
MapPath | 将请求的URL中的虚拟路径映射到服务器上的物理路径 |
SaveAs | 将HTTP请求保存到磁盘上 |
4.实例:
(1)Params和QueryString属性传值:
首页代码
<form id="form1" runat="server"> <div> <asp:Button ID="btnRedirect" runat="server" OnClick="btnRedirect_Click" Text="跳转" /> </div> </form>
首页后台代码
protected void btnRedirect_Click(object sender, EventArgs e) { Response.Redirect("Request.aspx?value=获得页面间的传值"); }
子页后台代码
protected void Page_Load(object sender, EventArgs e) { Response.Write("使用Request[string key]方法"+Request["value"]+"<br>"); Response.Write("使用Request.Params[string key]方法" + Request.Params["value"] + "<br>"); Response.Write("使用Request.QueryString[string key]方法" + Request.QueryString["value"] + "<br>"); }
结果
(2)Browser属性
后台代码
protected void Page_Load(object sender, EventArgs e) { HttpBrowserCapabilities b = Request.Browser; Response.Write("客户端浏览器信息:"); Response.Write("<hr>"); Response.Write("类型:" + b.Type + "<br>"); Response.Write("名称:" + b.Browser + "<br>"); Response.Write("版本:" + b.Version + "<br>"); Response.Write("操作平台:" + b.Platform + "<br>"); Response.Write("是否支持框架:" + b.Frames + "<br>"); Response.Write("是否支持表格:" + b.Tables + "<br>"); Response.Write("是否支持Cookies:" + b.Cookies + "<br>"); Response.Write("<hr>"); }
结果
(3)UserHostAddress属性:
用法
<form id="form1" runat="server"> <div> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> </div> </form>
protected void Page_Load(object sender, EventArgs e) { TextBox1.Text = Request.UserHostAddress; }
结果
(4)ServerVariables属性
<form id="form1" runat="server"> <div> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> </div> </form>
protected void Page_Load(object sender, EventArgs e) { TextBox1.Text = Request.ServerVariables["REMOTE_ADDR"]; }