




已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4章 内置对象和状态管理,回顾,验证控件有哪些?每一个的作用是什么? 怎样实现文件上传?,本章介绍,Response对象和Request对象 Server对象 Application和Session对象 Cookie对象 Viewstate对象 内置对象的属性与方法 (重点),Response对象-1,HttpResponse对象提供对当前页面的输出流的访问,这里的输出是指用户作为对其特定请求的响应而收到的信息集合。 HttpResponse类主要可用于: 1、将文本写入到输出页面 2、读取/写入Cookie 3、将用户从请求页面重新定向到另一页面 4、为某种操作设置或获得输出内容的类型 5、检查客户端是否仍然与服务器相连,Response对象-2,HttpResponse对象的属性,Response对象-3,HttpResponse对象的方法,使用Response对象,/str为输出文本 Response.Write(string str) /Url为定向的网址,可以为本服务器,也可以为其它服务器地址 Response.Redirect(string Url) /结束流输出 Response.End(),Request对象-1,HttpRequest对象将客户端请求的信息提供给服务器 客户端请求的信息包括下列内容: 1、识别用户和浏览器的HTTP变量。 2、在客户端浏览器上为网站存储的Cookie。 3、作为查询字符串或网页部分的HTML控件值添加到URL的值。 4、如果是安全保护的网站,有关网站安全的信息,Request对象-2,HttpRequest对象的属性,Request对象-3,HttpRequest对象的方法,使用Request对象,/获取请求的浏览器 HttpRequest.Browser.Browser HttpRequest.Url /获取请求的URL地址 /获取请求的IP地址 Request.UserHostAddress /通过键获取浏览器传递的参数值 Request.QueryStringkey /通过索引获取浏览器传递的参数值 Request.QueryStringindex,Server对象,HttpServerUtility类包含处理web请求的方法。,Server对象的方法-1,Execute方法和Transfer方法均会停止当前页面的执行,并转去执行用户在方法内指定的URL,同时用户的会话状态和任何当前的事务处理状态都将传送给新页面 表列出了这两个方法的差异。,Server对象的方法-2,HtmlEncode方法 : 内容原样输出 HtmlEncode()的语法列出如下: HtmlEncode(string,TextWriter):其中string表示要编码为HTTP的文本。 HtmlEncode(string):其中string表示要编码的文本,而TextWriter变量则用于将输出存储为TextWriter流。,Server对象的方法-3,UrlEncode方法 为了在地址中传递路径符号或者不想让用户看得出超级链接的真实地址,我们采用UrlEncode方法对要传送的URL进行编码 UrlEncode方法的语法列出如下: UrlEncode(string): 其中string表示将要编码并由HTTP传送的文本。 UrlEncode(string,TextWriter):其中string表示将要编码并由HTTP传送的文本,而TextWriter对象变量则用于将经过编码的输出存储为TextWriter流,Server对象的方法-4,MapPath方法 借助于MapPath方法,我们可以从虚拟路径得到Web资源(如.aspx页面)的物理路径。 MapPath方法该方法的语法如下: MapPath(string path):其中string表示Web服务器上的指定虚拟路径,状态管理概述,状态是任何类型的能够在一段时间内保持活跃的信息。这段时期可以是整个应用程序生命周期,也可以是用户使用这个应用程序的时间,或者用户浏览另外一个页面之前这个页面的生命周期,等等。 为什么不保留在数据库中。,存储状态的位置,支持Web应用程序的HTTP协议是无状态的。所以存储状态的位置就只有两个:服务器端和客户机端 服务器端 应用程序这种数据在应用程序的整个生命周期中都可以被所用用户访问 会话使状态和每个用户保持关联(比如购物篮) 客户机端 视图状态保留和页面相关的数据,比如已填充的窗体字段 cookie保存客户浏览上的任意数据 查询字符串在URL自身的客户机和服务器之间进行值传递 隐藏的窗体字段这种窗体字段中包含的数据可以被应用程序使用,但这些数据却无法被用户看到,应用程序状态对象-1,Application对象是内置的ASP.NET对象,表示ASP.NET应用程序的实例。Application状态由HttpApplicationState类表示,它包括所有与应用程序相关的方法和集合。当第一个用户请求一个ASP.NET文件时,会启动应用程序并创建一个Application对象。在创建Application对象后,它就可以在整个应用程序中使用,创建的对象将持续到应用程序关闭。它是应用程序级变量,所有页面都可以使用该对象,应用程序状态对象-2,以键/值对存储数据: ApplicationKey=Value 例如: Application“greeting”=”欢迎访问我们的站点”; 添加方法: Application.Add(Key,Value) Application.Add(“greeting”,”欢迎访问我们的站点”);,应用程序状态对象-3,在应用程序的的生命周期中,我们可以在任何时候应用程序状态,对它进行检索,改变它的值等,但是因为它可以同时被所有用户访问,所以我们必须考虑到并发性问题。所以当我们想要改变一个值的时候,应该对该变量进行锁定。为此,Application对象提供两个方法: Application.Lock(); Application.Unlock();,Application,HttpApplicationState类提供添加和移除Application状态项的方法。下表列出了HttpApplicationState中一些常用的方法,Cookie对象-1,Cookie是一小段数据(最大为4KB),它由客户浏览器进行保存,并在随后的每个请求中被传递到服务器。Cookie可为服务器存储在浏览器上的少量信息。 Cookie的主要用途是在客户端系统中保留客户端的个人信息。,Cookie对象-2,Cookie可分为两类: 会话Cookie。 持久性Cookie。 在浏览器的处理过程中保留的Cookie称为会话Cookie,这种Cookie是暂时性的,当关闭浏览器后,任何会话Cookie都会丢失。持久性Cookie可以保存几个月甚至几年。,Cookie对象-3,cookie的缺点 由于信息保存在客户端,信息不安全,如果用户选择禁用cookie,它的存储功能无法使用。 Cookie容量有限,最多存储4k数据。 对于单个网站,浏览器最多可以容纳20个cookie,使用Cookie对象,/实例化Cookie对象,并赋值 HttpCookie objHttpCookie = new HttpCookie(“UserName”,“张三“); /设置过期时间 objHttpCookie.Expires = DateTime.Now.AddMinutes(2); /添加到输出中 Response.Cookies.Add(objHttpCookie); 获取Cookies中的值 Request.Cookies“UserName”.Value,Session,当用户在浏览站点或者执行一些多步骤任务时,比如填充购物篮,需要保留用户数据。 数据不能保存在单个页面中 数据必须是每个用户私有的: 数据一定不能被执行同样任务的其他用户访问。 Session对象为每个用户进行数据存储,以键/值对组合进行存储数据。,Session,Session对象的属性,Session会话状态对象-3,设置 Session /赋值方法 SessionKey=Value /添加方法 Session.Add(Key,Value) /设置过期时间,单位分钟 Session.Timeout=20 获取Session string state=SessionKey.ToString(); 注:Session可以存储对象,Viewstate窗体状态对象,Web开发人员以前最常遇到的问题:如何在回送过程中保持HTML窗体状态。窗体状态中包含了选定的值、已填充的字段等。以前,这些工作必须手动完成,比如检索提交的值,并在页面返回时将其重置为原来的状态。ASP.NET视图状态能够处理的问题远远超过了这些,比如,它不仅能够记住组合框中被选中的值,还能记住列表中的所有值!,使用Viewstate对象,保存数据 ViewState“selected”=true; 获取数据 Bool selected=(bool)ViewSta
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中医法法律法规培训
- 原料验收培训课件
- 职业生涯人物访谈
- 2025电气基础培训
- 育龄妇女生殖健康知识
- 防物体打击培训
- 2026年高考政治一轮复习:统编版必修4《哲学与文化》知识点考点提纲
- 笑气在神经内科领域的应用与研究进展
- 2025年智能家居软装搭配市场趋势与商业布局报告
- 2025年城市污水处理厂智能化升级改造与智能监测预警平台应用案例深度分析报告
- 设备技改项目管理制度
- 2025至2030中国天然水晶手镯行业商业模式及发展前景与投资报告
- 关于教育减负的议论文
- 2025至2030年中国侧背光源行业投资前景及策略咨询报告
- 2025至2030年中国叉车油缸行业市场发展调研及投资前景展望报告
- 汽车美容质量管理制度
- 躁动患者约束带的使用及护理
- 云南省大理2025年八年级下学期语文期末模拟考试卷三套及答案
- 国家开放大学国开电大《统计与数据分析基础》形考任务1-4 参考答案
- 风电居间合同协议书
- 浙江开放大学2025年《社会保障学》形考任务4答案
评论
0/150
提交评论