在ASP.NET中,客户端的动态互动是通过Response和Request对象实现的,这两个对象起到了服务器和客户端
之间的信息传播作用,其中Response对象用于接收客户端浏览器提交的数据,而Request对象的功能则是将服务端的
数据发送到客户端浏览器。
由于ASP.NET页包含对System.Web命名空间(包含HttpContext类)的默认引用(using System.Web)。Page类、
HttpRequest类和HttpResponse类关系如下图所示。当加载一个page页的时候,同时也引用了HettpRequest类和
HttpResponse类。两个类作为page的属性Request和Response存在,这样我们在page_load的方法下就可以直接使用
page的属性Request对象和Response对象 。
request对象可以用于访问人任何用HTTP请求的传递的信息,包括从HTML表单的POST方法或GET方法传递的参
数、Cookie和用户认证。下面介绍几个常用的属性。
获取窗体中变量的集合。其实它就是一个容器,将网页间需要传递的信息存放在Form中,网页接收即可。当
method的属性值为POST或GET时,所有作为请求提交的
成员均为只读。下面用代码实现两个方法:
//使用Post的方式获得Form表单
protected void btnOK_Click(object sender, EventArgs e)
{
string name;
name = Request.Form["TextBox1"];
Response.Write(name);
//使用Get方式获得Form表单
protected void btnOK_Click(object sender, EventArgs e)
{
string name;
name = Request.QueryString ["TextBox1"];
Response.Write(name);
}
依附于用户请求的URL后面的名称/数值或作为请求提交的且method属性值为Get的值。关于method=“get”具体的
例子见上。Querystring检索HTTP查询字符串变量的值,HTTP查询字符串有问号后的值制定。常用于页面跳转时,
参数的传递。具体代码展示:
protected void btnOK_Click(object sender, EventArgs e)
{
Response.Redirect("Vote_ShowResult.aspx?voteid=" + this.masterID);
}
Response对象用于系那个客户浏览器发送服务器的数据。用户可以使用该对象将服务器端的数据用HTML的格
式发送到客户端浏览器。该对象的功能与Request对象的功能相反,Request对象用于得到用户提交的数据,而
Response对象用于将服务器的数据发送到用户浏览器,这是实现网页动态效果的基础。
在普通网页中,可以使用超链接的方式来引导放我这跳转到另一个页面,但是这个过程需要访问者单击一个超链接才进行。response对象的redirect方法则可以自动完成页面间的跳转,而访问者几乎不会感觉出来。
Response对象用于接收客户端浏览器提交的数据,而Request对象的功能则是将服务端的数据发送到客户端浏览器。