ASP.NET内置对象Request 和Response

ASP.NET提供了内置对象有Page、Request、Response、Application、Session、Server、Mail和Cookies。这些对象使用户更容易收集通过浏览器请求发送的信息、响应浏览器以及存储用户信息,以实现其他特定的状态管理和页面信息的传递。

下面针对request和response做简单介绍,大家多多指正,补充。

Request

读取客户端在Web请求期间发送的值,即是读取浏览器传来的请求报文数据。

Request对象主要是让服务器取得客户端浏览器的一些数据,包括从HTML表单用Post或者GET方法传递的参数、Cookie和用户认证。因为Request对象是Page对象的成员之一,所以在程序中不需要做任何的声明即可直接使用; 
其类名为 HttpRequest 
属性很多,但方法很少,只有一个BinaryRead() 
1.使用Request.Form属性获取数据 
通过该属性,读取<Form></Form>之间的表单数据.注意:提交方式要设置为“Post”。 
与Get方法相比较,使用Post方法可以将大量数据发送到服务器端 
2.利用Request.QueryString属性获取数据 
Request对象的QuerySting属性可以获取 HTTP 查询字符串变量集合 。 
注意:提交方式要设置为“Get” 
3.问题:Request.Form用于表单提交方式为Post的情况,而Request.QueryString用于表单提交方式为Get的情况,如果用错,则获取不到数据。 
解决方法:利用Request(“元素名”)来简化操作。 
4.Request.ServerVariables("环境变量名称") 
类似的还有:UserHostAddress,Browser,Cookies,ContentType,IsAuthenticated 
Item,Params

要读取http请求报文数据,必须了解浏览器提交的数据方式。

最主要有两种,一种是表单用Post传来的参数,数据是存在于请求报文体当中。那么相对应的,在服务器端,获取浏览器提交的数据方式就是  context.Request.Form["xxx"]。

另一种是通过URL参数(这与表单用Get传来的参数一致),数据存在于 url 字符串中。那么获取的数据的方式是  context.Request.QueryString["xxx"]。

另外,无论浏览器提交的数据方式是哪种,都可以直接用  context.Request["xxx"]  来读取数据,这也是可行,但效果就体现在效率上,直接用  context.Request["xxx"]  来读取数据肯定会慢一些,这就是大范围检索与小范围检索的差别。

Response

封装了页面执行期后返回到Http客户端的输出,即是http响应报文数据

Response对象用语输出数据到客户端,包括向浏览器输出数据、重定向浏览器到另一个URL或向浏览器输出Cookie文件。 
其类名为httpResponse 
属性和方法 
Write() 向客户端发送字符串信息 
BufferOutPut属性 是否使用缓存 
Clear() 清除缓存 
Flush() 强制输出缓存的所有数据 
Redirect() 网页转向地址 
End() 终止当前页的运行 
WriteFile() 读取一个文件,并且写入客户端输出流 
(实质:打开文件,并且输出到客户端。) 
1.Response.Write 变量数据或字符串 
Response.Write (变量数据或字符串) 
<%=…%> 
Response.Write("<script language=javascript>alert('欢迎学习ASP.NET')</script>") 
Response.Write("<script>window.open('WebForm.aspx')</script>") 
2.Response对象的Redirect方法将客户端浏览器重定向到另外的URL上,即跳转到另一个网页。 
例如: 
Response.Redirect("http://www.cnblogs.com/D-E-S-I-R-E/") 
3. Response.End() 终止当前页的运行 
4.Response.WriteFile(FileName) 
其中: 
FileName 指代需向浏览器输出的文件的文件名 

原文地址:https://www.cnblogs.com/D-E-S-I-R-E/p/4539735.html