Page种的内置对象
大家好,我是小雨,QQ:798033502
今天给大家说说Page类的内置对象,我们这里主要讲三个
Response对象
Request对象
Server对象
Response对象
Response对象主要是将HTTP响应数据发送到客户端。
该对象派生自HttpResponse类,是Page对象的成员,所以在程序中无须做任何的说明即可直接使用。
该对象的主要功能是输出数据到客户端。
Response对象的常用属性
BufferOutput 获得或设置一个值,该值指示是否缓冲输出,并在完成处理整个响应之后将其发送
Cache 获得网页的缓存策略(过期时间、保密性等)
Charset 获取或设置输出流的HTTP字符集
Cookies 获得响应Cookie集合
IsClientConnected 获取一个值,通过该值指示客户端是否仍连接在服务器上。
StatusCode 获取或设置返回给客户端的输出的HTTP状态代码
StatusDescription 获取或设置返回给客户端的输出的HTTP状态字符串
SuppressContent 获取或设置一个值,该值指示是否将HTTP内容发送到客户端
Response对象的常用方法
AppendToLog 将自定义日志信息添加到IIS的日志文件中
ClearContent 将缓冲区的内容清除
ClearHeaders 将缓冲区的所有页面标头清除
Close 关闭客户端的联机
End 将目前缓冲区中所有的内容发送到客户端,停止该页的执行,并引发EndRequest事件
Flush 将缓冲区中所有的数据送到客户端
Redirect 将客户端重定向到新的URL
Write 将信息写入HTTP响应输出流
WriteFile 将一个文件直接输出到客户端
BinaryWrite 将一个二进制的字符串写入HTTP输出流
Response对象应用示例
1.利用Write方法直接向客户端输出信息
例:Response.Write("<H1>Response对象</H1>");
2.将文件内容输出到客户端
例: Response.WriteFile("c:\\test1.txt");
3.实现网页重定向功能
例: Response.Redirect("Page1.htm");
4.结束网页的执行
Response.End方法是将当前所有缓冲的输出发送到客户端,停止该页的执行,并引发Application_EndRequest事件。
5.使用缓冲区
Response对象提供ClearContent、Flush和ClearHeaders三种方法用于缓冲的处理。
ClearContent方法将缓冲区的内容清除;
Flush方法将缓冲区中所有的数据发送到客户端;
ClearHeaders将缓冲区中所有的页面标头清除。
Request对象
Request对象主要提供对当前页请求的访问,其中包括请求标题、Cookies、客户端证书、查询字符串等。
该对象派生自HttpRequest类,是Page类的成员。
它的主要功能是从客户端浏览器取得数据,包括浏览器种类、用户输入表单中的数据、Cookies中的数据和客户端认证等。
Request对象的常用属性
ApplicationPath 获取目前正在执行程序的服务器的虚拟根路径
Browser 获取有关正在请求的客户端的浏览器功能的信息
Cookies 获取客户端发送的Cookie集合
FilePath 获取当前请求的虚拟路径
Files 获取客户端上传的文件集合
Form 获取窗体变量集合
Headers 获取HTTP头集合
HttpMethod 获取客户端使用的HTTP数据传输方法
Params 获取QueryString、Form、ServerVariables和Cookies项的组合集合
Path 获取当前请求的虚拟路径
PhysicalApplicationPath 获取当前正在执行的服务器应用程序根目录的物理路径
PhysicalPath 获取当前请求网页在服务器端的物理路径
QueryString 获取附在网址后面的参数信息
ServerVariables 获取Web服务器变量的集合
Url 获取有关目前请求的URL信息
UserAgent 获取客户端浏览器的原始用户代理信息
UserHostAddress 获取远方客户端机器的主机IP地址
UserHostName 获取远方客户端机器的DNS名称
UserLanguages 获取客户端语言首选项的排序字符串数组
Request对象的常用方法有以下两个:
MapPath(virtualPath):将参数virtualPath指定的虚拟路径转化为实际路径;
SaveAs(filename,includeHeaders):将HTTP请求保存到磁盘,filename是保存的文件路径,includeHeaders指定是否保存HTTP标头。
Request对象应用示例
1.获取文件的路径信息
Request对象的Url、UserHostAddress、PhysicalApplicationPath、CurrentExecutionFilePath和PhysicalPath属性能够分别获取当前请求的URL、远程客户端的IP主机地址、当前正在执行的服务器应用程序的根目录的物理文件系统路径、当前请求的虚拟路径及获取与请求的URL相对应的物理文件系统路径。
2.利用QueryString集合传递参数
例如:
http://Localhost/MyPage/ShowPage.aspx?Id=2&Name=Zhangsan
在服务器端,可以通过Request对象的QueryString集合来引用这些值,例如,引用上述两个变量的值,可以使用如下方法:
Id = Request.QueryString["Id"];
Name = Request.QueryString["Name"];
结果为Id="2",Name=" Zhangsan ",接收到的数据类型为字符串型。
3.利用Form集合接受表单数据
例如:Request.Form[“TxtName”],表示获取表单中名为TxtName控件的值。
4.利用Browser对象获取浏览器信息
Request对象的Browser属性能够返回一个HttpBrowserCapabilities类型的集合对象。
该集合对象可以取得目前连接到Web服务器的浏览器的信息。例如可以利用这个对象的一个属性确认访问者所使用的操作系统。
5.利用ServerVariables集合列出服务器端环境变量
Request对象的ServerVariables集合返回一个NameValueCollection对象。
在这个集合中,可以读取服务器端的环境变量信息。它由一些预定义的服务器环境变量组成,如发出请求的浏览器的信息、构成请求的HTTP方法、用户登录Windows的帐号、客户端的IP地址等。
Server对象
Server对象有以下两个属性:
MachineName:获取服务器的计算机名称,为只读属性。
ScriptTimeout:获取或设置程序执行的最长时间,即程序必须在该段时间内执行完毕,否则将自动终止,时间以秒为单位。
Server对象的常用方法:
CreateObject 创建COM对象的一个服务器实例
Execute 执行对另一页的请求,执行完毕后仍继续执行原程序
HtmlDecode 将HTML编码的字符串按HTML语法进行解释
HtmlEncode 对字符串进行编码,使它不会被浏览器按HTML语法进行解释,按字符串原样显示
Transfer 终止当前页的执行,并开始执行新页
UrlDecode 对URL编码的字符串进行解码
UrlEncode 编码字符串,以便通过URL从Web服务器到客户端进行可靠的HTTP传输
UrlPathEncode 对URL字符串的路径部分进行URL编码,并返回已编码的字符串
MapPath 返回与Web服务器上的指定虚拟路径相对应的物理文件路径
Sever对象应用示例:
1.用Execute方法执行对另一页的请求
用Execute(URL)执行另一个ASP.NET网页,执行完成后返回原来的网页继续执行。
参见示例\第03章\GlobalDemo\Server.aspx和TestPage.aspx。
2.用Tranfer方法实现网页重定向
Tranfer(URL):终止当前网页,执行新的网页URL,即实现重定向。
与Execute不同的是它转向新网页后不再将控件权返回,而是交给了新网页,而且所有内置对象的值都会保留到重新定向的网页。
3.将虚拟路径转化为实际路径
Server.MapPath(Web服务器上的虚拟路径)返回的是与Web服务器上的指定虚拟路径相对应的物理文件路径。