ASP.NET内置对象学习

内容来自《ASP.NET网站开发与项目实战(第二版)》,清华大学出版社,张正礼,陈作聪,王坚宁编著

ASP.NET内置对象包括:Response对象、Request对象、Server对象、Session对象、Cookie对象、ViewState对象、Application对象。
Response对象
Response对象可以动态地相应客户端的请求,并将动态生成的响应结果返回给客户端浏览器。Response对象可以实现很多功能,如向客户端输出数据、跳转网页等。Response对象是HttpResponse类的一个实例。该类主要是封装来自ASP.NET操作的HTTP响应信息。
属性
  1. Buffer
获取或设置一个值,该值指示是否缓冲输出,并在完成处理整个响应之后将其发送。
  1. BufferOutput
获取或设置一个值,该值指示是否缓冲输出,并在完成处理整个页之后将其发送。
当Response对象的BufferOutput属性为True时,要输出到客户端的数据都暂时存储在缓冲区内,等到所有的事件程序,以及所有的页面对象全部编译完毕后,才将所有的缓冲区中的数据送到客户端的浏览器。
例:新建ASP.NET空Web应用程序。
Default.aspx文件中添加一行代码:
<%Response.Write("缓存已清除<br/>"); %>
Default.aspx.cs中加入:
protected void Page_Load(object sender, EventArgs e)
{
Response.BufferOutput = false;//试试注释掉这行代码的区别
Response.Write("缓存清除前<br/>");
Response.Clear();
}
  1. Cache
获取Web也的缓存策略(过期时间、保密性、变化子句)。
  1. CacheControl
将Cache-Control HTTP头设置为Public或Private。
  1. Charset
为网页提供编码方式。
例:
Response.Charset = "gb2312";
  1. ContentEncoding
获取或设置输出流的HTTP字符集。
  1. ContentType。
获取或设置输出流的HTTP MIME类型。
  1. Cookies
获取响应Cookie集合。
  1. Expires
获取或设置在浏览器缓存的页过期之前的分钟数。如果用户在页过期之前返回一页,则显示缓存的版本。
  1. ExpiresAbsolute
获取或设置将缓存信息从缓存中移除时的绝对日期和时间。
  1. Filter
获取或设置一个包装筛选器对象,该对象用于在传输之前修改HTTP实体主体。
  1. IsClientConnected
获取一个值,通过该值指示客户端是否仍连接在服务器上。
  1. Output
启用到输出HTTP响应流的文本输出。
  1. OutputStream
启用到输出HTTP内容主体的二进制输出。
  1. RedirectLocation
获取或设置HTTP“位置”标头的值。
  1. Status
设置返回客户端的Status栏。
  1. StatusCode
获取或设置返回给客户端的输出的HTTP状态代码。
  1. StatusDescription
获取或设置返回给客户端的输出的HTTP状态字符串。
  1. SuppressContent
获取或设置一个值,该值指示是否将HTTP内容发送到客户端。
方法
  1. BinaryWrite
将一个二进制字符串写入HTTP输出流。
  1. Clear
清除缓冲区流中的所有内容输出。
  1. Close
关闭到客户端的套接字连接。
  1. End
将当前所有缓冲的输出发送到客户端,停止该页的执行,并引发Application_EndRequest事件。
Response.End方法将自动停止输出数据。
例:
for (int i = 1; i <= 100; i++)
{
Response.Write(i);
if (i == 10)
{
Response.End();
}
}
  1. Flush
向客户端发送当前所有缓冲的输出。
  1. Redirect
将客户端重定向到新的URL。
例:实现网页跳转。
Response.Redirect("http://www.baidu.com");
Response.Redirect("WebForm1.aspx");
  1. Write
将信息写入HTTP输出内容流。
  1. WriteFile
将指定的文件直接写入HTTP内容输出流。
例:
Response.WriteFile(@"F:\1.txt");
Request对象
Request对象是HttpRequest类的一个实例,在HTTP请求期间,检索客户端浏览器传递给服务器的信息,比如后去客户端存储的Cookie信息,获取URL连接串中参数的值等。
属性
  1. AcceptTypes
获取客户端支持的MIME接收类型的字符串数组。
  1. ApplicationPath
获取服务器上ASP.NET应用程序的虚拟应用程序根路径。
  1. Browser
获取有关正在请求的客户端的浏览器功能的信息。
  1. Cookies
获取客户端发送的Cookies的集合。
  1. CurrentExceptionFilePath
获取或设置输出流的HTTP字符集。
  1. FilePath
获取当前请求的虚拟路径。
  1. Files
获取客户端上载的文件(多部件MIME格式)集合。
  1. Form
获取窗体变量集合。
  1. Headers
获取HTTP头集合。
  1. InputStrem
获取传入的HTTP实体主体的内容。
  1. Item
后去Cookies、Form、QueryString、ServerVariables集合中指定的对象。在C#中,该属性为HttpRequest类的索引器。
  1. Path
获取当前请求的虚拟路径。
  1. PathInfo
获取具有URL扩展名的资源的附加路径信息。
  1. PhysicalPath
获取与请求的URL相对应的物理文件系统路径。
  1. QueryString
获取HTTP查询字符串变量集合。
例:
<a href="WebForm1.aspx?params1=出发了">拜拜,我要走了</a>
Response.Write(Request.QueryString["params1"]);
注:用类似方法,可以获取Form、Cookie、ServerVariables的值。调用方法都是Request.Collection["Varaiable"].
Collection包括QueryString、Form、Cookies、ServerVariables四种集合,Variable为要查询的关键字。
使用的方式也可以是Request["Variable"],与Request.Collection["Variable"]的效果是一样的。如果省略了Collection,Request对象就会依照QueryString、Form、Cookies、ServerVariables的顺序查找,直至发现Variable所指的关键字并返回其值,如果没有发现其值,方法则返回空值。
  1. RawUrl
获取当前请求的原始URL。
  1. ServerVariables
获取Web服务器变量的集合。
  1. Url
获取有关当前请求的URL的信息。
方法
  1. BinaryRead
执行对当前输入流进行指定字节数的二进制读取。
  1. MapImageCoordinate
将传入图像字段窗体参数影射为适当的x、y坐标值。
  1. MapPath
为当前请求的URL中的虚拟路径映射到服务器上的物理路径。
  1. SaveAs
将HTTP请求保存到磁盘。
例:
protected void Page_Load(object sender, EventArgs e)
{
Request.SaveAs("F:/1.txt",true);
}
文档内容:
GET /Default.aspx HTTP/1.1
Connection: keep-alive
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding: gzip, deflate, sdch, br
Accept-Language: zh-CN,zh;q=0.8
Cookie: admin=admin; 3=3; 001=1; 111=1; companycode=__01; 1=1; lname~1!
Host: localhost:49856
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36
Upgrade-Insecure-Requests: 1
  1. ValidateInput
验证由客户端浏览器提交的数据,如果存在潜在的危险性数据,则引发一个异常。
Server对象
Server对象是HttpServerUtility的一个实例,该对象提供对服务器上的方法和属性的访问。
属性
  1. MachineName
获取服务器的计算机名称。
  1. ScriptTimeout
获取或设置请求超时值(以秒计)
例:
protected void Page_Load(object sender, EventArgs e)
{
Response.Write(Server.MachineName);
Response.Write("<br/>");
Response.Write(Server.ScriptTimeout);
}
方法
  1. ClearError
清除前一个异常。
  1. CreateObject
创建由对象类型标识的COM对象的一个服务器实例。
  1. Execute
在当前请求的上下文中执行指定的虚拟路径的处理程序。
  1. GetLastError
返回前一个异常。
  1. HtmlDecode
对HTML编码的字符串进行编码,并将解码输出发送到System.IO.TextWriter输出流。
  1. HtmlEncode
对字符串进行HTML编码,并将解码输出发送到System.IO.TextWriter输出流。
例: 使用HtmlEncode方法将"<B>HTML 内容</B>"编码后输出到浏览器,再利用HtmlDecode方法将编码后的结果还原。
protected void Page_Load(object sender, EventArgs e)
{
var str1 = Server.HtmlEncode("<B>HTML 内容</B>");//编码
Response.Write(str1);
Response.Write("<p>");
var str2 = Server.HtmlDecode(str1);
Response.Write(str2);
}
  1. MapPath
返回与Web服务器上的指定虚拟路径相对应的物理文件路径。
  1. Transfer
终止当前页的执行,并为当前请求开始执行新页。
  1. UrlDecode
对字符串进行解码,该字符串为了进行HTTP传输而进行编码并在URL中发送到服务器。
  1. UrlEncode
编码字符串,以便通过URL从Web服务器到客户端进行可靠的HTTP传输。
Server对象的URLEncode方法根据URL规则对字符串进行编码。 URL规则是当字符串数量以URL的形式传递到服务器时,在字符串中不允许出现空格,也不允许出现特殊字符。
例:
Response.Write(Server.UrlEncode("http://www.baidu.com"));
结果: http%3a%2f%2fwww.baidu.com
  1. UrlPathEncode
对URL字符串的路径部分进行URL编码,并返回已编码的字符串。


先学了这些,继续跟进,请等待...





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值