您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业文化 > aspnet七大内置对象
一、Response对象Response对象是HttpResponse类的一个实例。该类主要是封装来自ASP.NET操作的HTTP响应信息。1、Response对象的属性属性说明属性值BufferOutput获取或设置一个值,该值指示是否缓冲输出,并在完成处理整个页之后将其发送如果缓冲了到客户端的输出,则为true;否则为false。默认为true续表属性说明属性值Cache获取Web页的缓存策略(过期时间、保密性、变化子句)包含有关当前响应的缓存策略信息的HttpCachePolicy对象Charset获取或设置输出流的HTTP字符集输出流的HTTP字符集IsClientConnected获取一个值,通过该值指示客户端是否仍连接在服务器上如果客户端当前仍在连接,则为true;否则为false实例:使用缓冲区由于Response对象的BufferOutput属性默认为True,所以要输出到客户端的数据都暂时存储在缓冲区内,等到所有的事件程序,以及所有的页面对象全部解译完毕后,才将所有在缓冲区中的数据送到客户端的浏览器。下面的例子将演示缓冲区是如何工作的。%Response.Write(缓存已清除+Br);%ScriptLanguage=C#Runat=ServervoidPage_Load(Objectsender,EventArgse){Response.Write(缓存清除前+Br);Response.Clear();}/Script上述程序代码实例首先在“Page_Load”事件中送出“缓存清除前”这一行,此时的数据存在缓冲区中。接着使用Response对象的Clear方法将缓冲区的数据清除,所以刚刚送出的字符串已经被清除。然后IIS开始读取HTML组件的部分,并将结果送至客户端的浏览器。由执行结果只出现“缓存已清除”可知,使用Clear方法之前的数据并没有出现在浏览器上,所以程序开始时是存在缓冲区内的。如果在相同的程序中加入“Response.BufferOutput=false”:%Response.Write(清除之后的数据Br);%ScriptLanguage=C#Runat=ServervoidPage_Load(Objectsender,EventArgse){Response.BufferOutput=false;Response.Write(清除缓冲区之前的数据+Br);Response.Clear();}/Script可以发现,执行的结果并没有因为使用Clear方法而将缓冲区的数据清除,这表明数据是直接输出而没有存放在缓冲区内。2、Response对象的方法Response对象可以输出信息到客户端,包括直接发送信息给浏览器、重定向浏览器到另一个URL或设置cookie的值。下表列举了几个常用的方法。Response对象的方法方法说明Write将指定的字符串或表达式的结果写到当前的HTTP输出End停止页面的执行并得到相应结果Clear用来在不将缓存中的内容输出的前提下,清空当前页的缓存,仅当使用了缓存输出时,才可以利用Clear方法Flush将缓存中的内容立即显示出来。该方法有一点和Clear方法一样,它在脚本前面没有将Buffer属性设置为True时会出错。和End方法不同的是,该方法调用后,该页面可继续执行Redirect使浏览器立即重定向到程序指定的URLASP.NET中引用对象方法的语法是“对象名.方法名”。“方法”就是嵌入到对象定义中的程序代码,它定义对象怎样去处理信息。使用嵌入的方法,对象便知道如何去执行任务,而不用提供额外的指令。以下将通过几个小例子来讲解Response对象的常用方法。Response对象的方法方法说明Write将指定的字符串或表达式的结果写到当前的HTTP输出End停止页面的执行并得到相应结果Clear用来在不将缓存中的内容输出的前提下,清空当前页的缓存,仅当使用了缓存输出时,才可以利用Clear方法Flush将缓存中的内容立即显示出来。该方法有一点和Clear方法一样,它在脚本前面没有将Buffer属性设置为True时会出错。和End方法不同的是,该方法调用后,该页面可继续执行Redirect使浏览器立即重定向到程序指定的URLASP.NET中引用对象方法的语法是“对象名.方法名”。“方法”就是嵌入到对象定义中的程序代码,它定义对象怎样去处理信息。使用嵌入的方法,对象便知道如何去执行任务,而不用提供额外的指令。以下将通过几个小例子来讲解Response对象的常用方法。实例:使用Response.write,向客户端发送信息for(inti=1;i=500;i++){Response.Write(i=+i+BR);}本例使用“write”方法,向屏幕输出500个值。实例:使用Response.End方法调试程序End方法可以停止当前页面的执行,基于这个原因,可以结合Response.write方法输出当前页面上的某个变量、数组值。formid=Form1method=postrunat=server输入一个数值:asp:TextBoxid=txtVarrunat=server/asp:TextBoxasp:Buttonid=btnSubmitrunat=serverText=计算该值的平方值onclick=btnSubmit_Click/asp:Button/formScriptLanguage=C#Runat=ServervoidbtnSubmit_Click(Objectsender,EventArgse){intN=int.Parse(Request.Form[txtVar].ToString());Response.Write(N=+N+br);Response.Write(该值的平方值是:+N*N);}/Script运行上面的代码,结果如图所示。使用Response.End调试程序输入一个值“6”,然后单击“计算该值的平方值”按钮,屏幕将显示如下结果:N=6该值的平方值是:36在代码中加上“Response.End()”,代码如下:ScriptLanguage=C#Runat=ServervoidbtnSubmit_Click(Objectsender,EventArgse){intN=int.Parse(Request.Form[txtVar].ToString());Response.Write(N=+N+br);Response.End();Response.Write(该值的平方值是:+N*N);}/Script这时再运行代码,将只会显示:N=6实验证明,“Response.End()”方法停止了当前页面的执行。这仅仅是一个小例子,读者可以依此类推,在程序中使用End方法进行调试。不过千万要记住调试完代码后,不要忘记把调试用的“Response.End()”删掉。实例:使用Redirect方法进行页面重定向在网页编程中,经常会遇到在程序执行到某个位置进行页面调转的情况。Response.Redirect方法可以满足这种需求,例如代码:Response.Redirect(错误!超链接引用无效。);执行该代码,页面将跳转到网易163的主页。二、Request对象Request对象是HttpRequest类的一个实例。它能够读取客户端在Web请求期间发送的HTTP值。Request对象的属性Request对象的属性如表14-3所示。表14-3Request对象的属性属性说明属性值QueryString获取HTTP查询字符串变量集合NameValueCollection对象Path获取当前请求的虚拟路径当前请求的虚拟路径UserHostAddress获取远程客户端的IP主机地址远程客户端的IP地址Browser获取有关正在请求的客户端的浏览器功能的信息HttpBrowserCapabilities对象实例14-5:获取QueryString值程序中,经常可以使用QueryString来获得从上一个页面传递来的字符串参数。例如,在页面1中创建一个连接,指向页面2,并用QueryString来查询两个变量:ahref=Page2.aspx?ID=6&Name=Wang查看/a在页面2中接收到从页面1中传过来的两个变量:ScriptLanguage=C#Runat=ServervoidPage_Load(objectsender,System.EventArgse){Response.Write(变量ID的值:+Request.QueryString[ID]+br);Response.Write(变量Name的值:+Request.QueryString[Name]);}/Script运行上面代码结果如下:变量ID的值:6变量Name的值:Wang上面的例子可以成功地得到QueryString的值。用类似方法,可以获取Form,Cookies,SeverVaiables的值。调用方法都是:Request.Collectlon[”VariabLe”]Collectlon包括QueryString,ForM,Cookies,SeverVaiables四种集合,VariabLe为要查询的关键字。不过,这里的Collectlon是可以省略的,也就是说,Request[Variable]与Request.Collection[Variable]这两种写法都是允许的。如果省略了Collection,那么Request对象会依照QueryString,Form,Cookies,SeverVaiables的顺序查找,直至发现Variable所指的关键字并返回其值,如果没有发现其值,方法则返回空值(Null)。不过,为了优化程序的执行效率,建议最好还是使用Collection,因为过多地搜索就会降低程序的执行效率。2.Request对象的方法Request对象的方法如表14-4所示。表14-4Request对象的方法方法说明BinaryRead执行对当前输入流进行指定字节数的二进制读取MapPath为当前请求将请求的URL中的虚拟路径映射到服务器上的物理路径实例14-6:获取文件的物理路径Request.MapPath(FileName);可以通过这条语句来得到某个文件的实际物理位置,这个方法常常用在需要使用实际路径的地方。三、Application对象Application对象是HttpApplicationState类的一个实例。HttpApplicationState类的单个实例,将在客户端第一次从某个特定的ASP.NET应用程序虚拟目录中请求任何URL资源时创建。对于Web服务器上的每个ASP.NET应用程序,都要创建一个单独的实例。然后通过内部Application对象公开对每个实例的引用。Application对象有如下特点:—数据可以在Application对象内部共享,因此一个Application对象可以覆盖多个用户。—一个Application对象包含事件,可以触发某些Applicatin对象脚本。—个别Application对象可以用InternetServiceManager来设置而获得不同属性。—单独的Application对象可以隔离出来在它们自己的内存中运行,这就是说,如果一个人的Application遭到破坏,就不会影响其他人。—可以停止一个Application对象(将其所有组件从内存中驱除)而不会影响到其他应用程序。一个网站可以有不止一个Application对象。典型情况下,可以针对个别任务的一些文件创建个别的Application对象。例如,可以建立一个Application对象来适用于全部公用用户,而再创建另外一个只适用于网络管理员的Application对象。Application对象使给定应用程序的所有用户之
本文标题:aspnet七大内置对象
链接地址:https://www.777doc.com/doc-3395706 .html