




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
S.
E组版件标对题象样式单击此处编辑母版副标题样式*1❏掌握ASP.NET各内置组件对象的常用属性和方法❏掌握Session、Application对象与其他常用对象的区别,以及它们的适用场合❏能灵活运用各种组件对象完成程序设计知识点3.
1
Page类Page类作为各个页面的派生基类,提供了许多对象和方法来处理页面的请求。返回网页加载情况。为True表示网页是由于客户端返回数据而重新被加载,为False表示网页被第一次加载获取或设置错误页,当发生未处理的页异常的事件时请求浏览器将被重定向到该页功能描述为当前Web请求获取Application对象获取与该页驻留的应用程序关联的Cache对象获取ControlCollection对象,该对象表示UI层次结构中指定服务器控件的子控件获取一个值,该值指示页验证是否成功获取请求页的HttpRequest对象获取请求页的HttpResponse对象获取Server对象,它是HttpServerUtility类的实例获取ASP.NET提供的当前的Session对象获取请求的页上包含的全部验证控件的集合获取或设置指示是否呈现Page对象值IsPostbackErrorPage属性/对象ApplicationCacheControlsIsValidRequestResponseServerSessionValidator
sVisibleIsPostBack属性IsPostBack属性用于判断是否是响应加载页面,当使用者第一次浏览这个网页时Page.IsPostBack会传回false,不是第一次浏览这个网页时就传回true;通常在页面初始化(即Page.!IsPostBack)绑定数据或者放入一些共用变量,此外还可以用于cookie与session使用时的判断,Datagrid的数据绑等,page_load事件中也可以使用这个属性来避免做一些重复的动作。(例3-1)3.
1
Page类Request对象实际上操作System.Web命名空间中的类HttpRequest。当客户发出请求执行ASP.NET程序时,CLR会将客户端的请求信息包装在Request对象中。这些请求信息包括请求报头(Header)、客户端的基本信息(如浏览器类型、浏览器版本号、用户所用的语言以及编码方式等)、请求方法(如Post、GET)、参数名、参数值等。所以Request对象也被称为请求对象。3.2Request对象3.2Request对象获取一个值,该值指示HTTP连接是否使用加密描述获取Cookies
、Form
、
等集合中指定对象获取被请求页面的目录信息(虚拟应用程序根路径)获取Querystring
、Form项的组合集合获取正在请求的客户端的浏览器功能的信息获取当前请求的虚拟地址获取当前请求的客户端安全证书获取HTTP查询字符串变量集合获取客户端Cookies集合获取Web服务器变量集合获取窗体变量集合获取远程客户端的IP主机地址返回有关HTTP报头集合获取浏览器提交的完整的URL地址获取一个值,该值指示是否验证了用户属性ApplicationPathBrowerClientCertifacateCookiesFormHeadersIsAuthenticatedQuerystringParamsServerVariablesItemUserHostAddressPathURLIsSecureConnectionRequest对象的调用方法是:Request.Collection[“Varible”],其中,Collection包括Querystring、Form、Cookies、ServerVariables四种集合。3.2Request对象为当前请求将请求的URL中的虚拟路径映射到服务器上的实际路径描述执行对当前输入流进行指定字节数的二进制读取获取当前实例的TypeMapPath方法BinaryReadGetTypeQuerystring属性➢请求字符串Web浏览器向Web服务器传送信息的一种方式,Querystring属性的信息来自于发出请求的URL地址中“?”后面的数据,这些数据称为“URL附加信息”。例如http://localhost/Queststringtest/webform1.aspx?name=wang”,在该name=wang是浏览器向Web服务器传送的信息,获取这个信息的语句是:Request.Querystring[“name”]。➢Querystring主要用于收集HTTP协议中的GET请求发送的数据,如果在一个请求事件中被请求的程序URL地址出现了“?”后的数据,则表示此次请求方式为GET。GET方法是HTTP中默认请求方法.最常用的超文本链接便是通过GET方法发送请求。如:<ahref=“show.aspx?id=111”>则表示显示ID为111的文章。当有多个信息时,信息间用“&”连接。3.2Request对象Form属性➢Form属性是表示表单变量的集合,通过Request对象的Form属性可以读取浏览器发送到服务器的数据。GET方法是将传递的数据追加至URL中。URL地址长度是有限制的,因此使用GET方法所能传递的数据也有限。一般地,GFT方法能够传递256字节的数据。在多数情况下,使用GET方法传递的数据长度是远远不够的,这时就需要使用HTTP的另外—种请求方式POST,POST能传递的数据最大可达到2MB。POST请求必须由Form发出(使用sock方法直接写入HTTP报头的方法除外)。(例3-2)3.2Request对象1.2ASP.NET工作原理Brower、UserHostAddress等属性代码量这些属性可以获取客户端浏览器的资料,以及主机的IP地址等信息。(例3-3)Response对象处理来自服务器端所创建的并发回给客户端的信息。它与Request对象实现了浏览器和服务器的交互。Response对象实际上操作System.Web命名空间中的HTTPResponse对象的实例,HTTPResponse类封装来自ASP.NET操作的HTTP响应信息。3.3Response对象获取或设置一个值,该值指出是否缓冲输出,并在完成整个响应时间后将其发送获取或设置一个值,该值指出是否缓冲输出,并在完成处理整个页之后将其发送获取或设置在浏览器上缓存的页过期之前的分钟数。如果用户在页过期之前返回同一页,则显示缓存的版本描述获取响应cookies集合获取Web页的缓存策略(过期时间
、保密性
、变化子句)设定了页面在浏览器Cache中失效的具体时间
。启用到输出HTTP响应流的文本输出启用到输出Http
内容主体的二进制输出BufferBufferOutputExpires属性CookiesCacheExpiresAbsoluteOutputOutputStream清除缓冲区流中的所有内容输出,但此方法只删除Response显示输出信息,不删除Response头信息停止当前程序的处理并返回结果,剩下的文件内容是没有处理的描述将一个二进制字符串写入HTTP输出流关闭客户端的联机向客户端发送当前所有缓冲的输出将客户端重定向到新的URL将信息写入HTTP输出内容流将指定的文件直接写入HTTP
内容输出流ClearEnd方法BinaryWr
iteCloseFlushRedirectWr
iteWr
iteFile➢Buffer属性Response.Buffer=flag,Buffer属性表示是否对页面输出进行缓冲。如有缓冲,服务器在当前处理的所有页面上的语句被处理之前不将Response送往客户端,除非有flush或end方法被调用。参数flag表示是否对页面输出进行缓冲,True为需要,False表示否,系统默认为True,而Response.Clear()常用于清除缓冲区中的所有内容。(例)3.3Response对象Wirte方法Write方法输出指定的文本内容,例如:Response.Write(“欢迎光临!”),该方法在前面的例子中已经用到很多,这里不再详细解释。但要注意,在ASP中Response.Write“欢迎光临!”是被允许的,但在ASP.NET中必须有括号框住,否则会出错。3.3Response对象Redirect方法该方法可以将用户的页面重定向到一个新的页面,使用时只要传入一个字符串类型的地址即可,传入在网址后附加参数的地址字符串也可以。该在实现页面转移的过程中很有用。例如:”);当然在转向的新页面也可以为相对路径的表示。3.3Response对象3.4HttpServerUtility对象HttpServerUtility对象也被称为Server对象,它起着HTTP服务接口的作用,并且公开HTTP服务器的属性和方法。获取和设置请求超时描述获取服务器的计算机名称scriptTimeout属性MachineName对字符串进行解码,该字符串为了进行HTTP传输而进行编码并在URL中发送到服务器编码字符串,以便URL从Web服务器到客户端进行可靠HTTP传输描述创建COM对象的一个服务器实例执行对另一个页的请求对已被编码以消除无效HTML字符的字符串进行解码对要在浏览器中显示的字符串进行编码返回与Web服务器上的指定虚拟路径相对应的物理文件路径终止当前页的执行,并开始执行新页UrlDecodeUrlEncode方法CreateObjectEcecuteHtmlDecodeHtmlEncodeMapPathTransferHtmlDecode、HtmlEncode属性如果需要在页面中显示如下信息:<script>window.alert(“ASPCN.COM,您今天访问了吗?”);</script>如果直接将代码写入文件,代码如下:Response.Write("<script>window.alert("ASPCN.COM您今天访问了吗?")</script>")3.4HttpServerUtility对象HtmlDecode、HtmlEncode属性由于需要显示的代码是Javascript,它会在浏览器得到执行,井弹出图3-7的对话框,这并不是所需要的情景。目的是显示这段源代码,而不是执行它。这时就这需要用到HtmlEncode。代码如下:Response.Write(Server.HtmlEncode("<script>windo.alert(\"aspcn.com,您今天访问了吗?3.4HttpServerUtility对象\
")
;</script>
"))
;MapPath方法➢该方法返回Web服务器上的指定路径相对应的物理文件路径。方法的语法为:pulicstringMapPath(stringpath);其中,path为Web服务器上的虚拟路径;返回值为与path相对应的物理文件路径;如果path为NULL,MapPath将返回包含当前应用程序目录的完成物理路径。例如:Response.Write(Server.MapPath(“WebForm1.aspx”));运行的结果就是返回WebForm1.aspx的实际路径,如:c:\\inetput\wwwroot\UrlEncodeTest\WebForm1.aspx3.4HttpServerUtility对象Execute方法和Transfer方法Transfer(path)方法用于终止当前程序执行,进入path所指程序;而Execute(path)方法指在当前程序中执行path所指程序,但path所指程序执行完后将继续执行当前程序中后面的代码。(例3-4)3.4HttpServerUtility对象Application对象的典型应用——计数器如果要建立与用户交互的基于Web站点的应用程序,必须能够为每个用户提供独立的状态。这可能是记录每个用户的名字也可能为每个用户存储对象引用或不同的记录集。3.5HTTPApplication对象HTTPApplicationState类在整个应用程序中共享信息,该类通过Appliacation对象进行访问。任何客户端首次在特定ASP.NET应用程序的虚拟目录命名空间中请求URL资源时,创建HTTPApplicationState类实例。也就是说一个Application对象对应一个IIS的虚拟目录以及其下的子目录。Application对象可以被全局用户访问,因此可以保存全局级别的变量等,只有当Web站点停止或操作系统重启等情况下才被释放。在程序的编写中Application的代码一般写在Global.asax中(实例3-5)计数器的锁定➢在进行记数的过程中,往往是多个用户同时访问页面,计数器会面临同时加1的操作,在ASP.NET中,使用了两个方法来解决这种操作带来的并发问题。Application.Lock()和Application.UnLock()方法。Lock是锁定当前Application对象以便当前用户单独操作(主要是写的操作,读的操作并不会因为Application被锁定而不能读取);UnLock是在操作完毕后解除锁定,以便让其他用户拥有写的权利。3.5HTTPApplication对象Session对象跟Application对象都是对Web应用程序状态进行管理。它的功能是让服务器记忆客户,与Application不同的是,Application是共享的,而Session是局部的,简单的说Session就是服务器给客户端的一个编号,当网页用户关掉浏览器或超过设置的Session对象的有效时间时,Session对象变量就会消失。3.6Session对象有个Session,服务器就可以判断浏览者是哪一个用户,这在购物系统和投票系统等场合下记录用户名和权限很有用,Session在Session_Start和Session_End中触发,如果需要统计当前页面的在线人数就可以利用Session的这两个事件3.6Session对象Session意义与基本使用——页面间传值➢在使用Session时,如果用Session作为页面参数传递,需要注意它是在一个浏览器会话周期内有效。所谓一个浏览器会话周期是指从一个浏览器窗口打开到关闭这个期间。因为重新打开一个浏览器相当于又一次会话.(实例3-6)3.6Session对象改进的计数器实例➢Session提供Abandon()方法可以强制使Session失效,并同时执行Session_onend事件。可以通过Session.Timeout属性显式设置Session失效的最大间隔时间,如果用户在间隔时间内不刷新或请求网页,则该会话将终止。Timeout一般以分钟为单位,默认为20分钟,可以通过Session.Timeout=10来修改失效时间为10分钟。(实例3-7)3.6Session对象Session的配置➢默认情况下,Session是存储进程内的,通过Web.config可以改变Session的存储方式。以下是VisualStudio.NET生成的默认配置信息<sessionStatemode="InProc"stateConnectionString="tcpip=127.0.0.1:42424sqlConnectionString="datasource=127.0.0.1;Trusted_Connection=yes"3.6Session对象cookieless=
"false
"
timeout=
"20
"/>常用属性➢Cookie它将一些用户信息储存在客户的机器中,以便于在每次请求时被服务器在设定的时期内进行读取。➢至今,它也是在页面请求和站点访问之间提供状态的常用方法。但如果用户转移到另一个计算机,或删除cookie,或者浏览器拒绝接收发送给他们的Cookie,则不能维持状态。3.7HttpCookies对象常用属性➢HttpCookie类提供创建和操作各HTTPCookie的类型安全方法。HttpCookie类获取和设置各Cookie的属性,HttpCookieCollection类提供存储、检索和管理整个Web应用程序的所有Cookie方法。Response、Request对象包含Cookie属性,该属性是HttpCookieCollection类的实例。例如:HttpCookiecookie=newHttpCookie(“aspcn”)表示建立一个名为aspcn的HttpCookie实例。建立实例后,将给其赋值。3.7HttpCookies对象HttpCookie.Values的快捷方式,在C#中,该属性为HttpCookie类的索引器描述获取或设置将此Cookie与其关联的域获取或设置此Cookie的过期日期和时间获取或设置Cookie的名称获取或设置要与当前Cookie一起传输的虚拟路径获取或设置单个Cookie值获取在单个Cookie对象中包含的键值对的集合Item属性DomainExpiresNamePathValueValues设置Cookie值➢一个Cookie中可以存储一个或多个值,例如:通过设置Cookie的Value属性值,可以在Cookie中存
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 畜禽繁殖生长调节剂的应用探讨考核试卷
- 2025年中国手起动轮数据监测研究报告
- 电站安全考试试题及答案
- 会计初级考试试题及答案
- 高一五类考试试题及答案
- 初二美术考试试题及答案
- 安技部考试试题及答案
- 法治思想考试试题及答案
- 领导技能考试试题及答案
- 2025-2030中国包装废水处理行业市场发展趋势与前景展望战略研究报告
- 【武汉大学】2025DeepSeek驱动下的地图生成报告
- (广东二模)2025年广东省高三高考模拟测试(二)历史试卷(含答案)
- 高空作业简答试题及答案
- 通信服务公司管理制度
- 2025年班组安全培训考试试题ab卷
- T-CHSA 082-2024 上颌窦底提升专家共识
- 《集中用餐单位落实食品安全主体责任监督管理规定》解读与培训
- 安徽省示范高中皖北协作区2025届高三下学期第27届联考(一模)数学试题 含解析
- 做最勇敢的自己
- 护理新技术新业务盆底疼痛
- 残联2024年普法依法治理工作计划要点
评论
0/150
提交评论