




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第5章 ASP.NET常用对象和状态管理本章讲述的主要内容5.1 Page对象5.2 Response对象5.3 Request对象5.4 Server对象5.5 ASP.NET状态管理5.6 实训 使用Cookie5.1 Page对象5.1.1 Page对象的常用属性、方法和事件 1. Page对象的属性5.1 Page对象5.1.1 Page对象的常用属性、方法和事件 2. Page对象的常用方法和事件5.1 Page对象5.1.2 Web窗体页面的生命周期1) 初始化:该阶段将触发Page对象的Init事件,并执行OnInit方法。该阶段在Web窗体的生存周期内仅此一次。2) 加载视图状
2、态:该阶段主要执行LoadViewState()方法3) 处理回发数据:该阶段主要执行LoadPostData()方法,用来检查客户端发回的控件数据的状态是否发生了变化。4) 加载:该阶段将触发Load事件,并执行Page_Load方法。5) 预呈现:该阶段要处理在最终呈现之前所做的各种状态更改。6) 保存状态:该阶段的任务是将当前状态写入ViewState属性。7) 呈现:该阶段将对应的HTML代码写入最终响应的流中。8) 处置:该阶段将执行Dispose方法,释放占用的系统资源。9) 卸载:这是Web窗体生命周期的最后一个阶段,在这个阶段中将触发UnLoad事件,执行OnUnLoad方法,
3、以处理Web窗体在消亡前的最后处理。5.2 Response对象5.2.1 Response对象的常用属性和方法 Response对象的常用属性见下表。5.2 Response对象5.2.1 Response对象的常用属性和方法 Response对象的常用方法见下表。 5.2 Response对象5.2.2 使用Response对象输出信息到客户端1. 使用Write方法 Write方法的语法格式如下: Response.Write(string);2. 使用WriteFile方法 使用Response对象的WriteFile方法可以将指定的文件内容直接写入HTML输出流。其语法格式如下: R
4、esponse.WriteFile(filename);5.2 Response对象5.2.3 使用Redirect方法实现页面跳转 Response对象的Redirect方法用于将客户端重定向到新的URL,实现页面间的跳转。该方法的语法格式如下: Response.Redirect(url ,endResponse)使用Response对象的Redirect方法时应注意如下问题:1) 使用该方法实现跳转时,浏览器地址栏中将显示目标URL。2) 执行该方法时,重定向操作发生在客户端,涉及到两个不同页面或两个Web服务器之间的通信,第一阶段是对原页面的请求,第二阶段是对目标URL的请求。3) 该
5、方法执行后内部控件保存的所有信息将丢失,因此当从A页面跳转到B页面后,在页面B中无法访问A页面提交的数据。若需从A页面传递数据到B页面,只能通过url参数中的“?”来实现。5.3 Request对象5.3.1 Request对象的常用属性和方法 1. Request对象的常用属性 5.3 Request对象5.3.1 Request对象的常用属性和方法 2. Request对象的常用方法1) MapPath(VirtualPath):该方法将当前请求的URL中的虚拟路径VirtualPath映射到服务器上的物理路径。参数VirtualPath用于指定当前请求的虚拟路径(可以是绝对路径,也可以是
6、相对路径)。返回值为与VirtualPath对应的服务器端物理路径。2) SaveAs(filename, includeHeaders):该方法将客户端的HTTP请求保存到磁盘。参数filename用于指定文件在服务器上保存的位置;布尔型参数includeHearders用于指示是否同时保存HTTP头。 5.3 Request对象5.3.1 Request对象的常用属性和方法 3. 通过查询字符串实现跨页数据传递 Request对象的QueryString属性用于接收来自用户请求URL地址中“?”后面的数据,通常将这些数据称为“查询字符串”,也称为“URL附加信息”,常被用来在不同网页中传递
7、数据。使用Response对象的Redirect属性可以同时传递多个参数,其语法格式如下: Response.Redirect(目标网页?参数1 & 参数2& 参数n);5.3 Request对象5.3.1 Request对象的常用属性和方法 4. 使用Browser属性获取客户浏览器信息 Request对象的Browser属性包含有众多子属性,用来返回客户端浏览器的信息和客户端操作系统的信息等。5.3 Request对象5.3.2 处理HTML表单 在Web窗体页面中,往往包含有许多Web服务器控件(文本框、单选按钮、复选框等)或HTML表单。这些控件的值存放在窗体变量中,当用户提交页面时,
8、这些窗体变量被发送到服务器端。使用Request对象的Form属性可以访问被提交到服务器的窗体变量。其语法格式如下: Request.Formelement | index Request对象的Browser属性包含有众多子属性,用来返回客户端浏览器的信息和客户端操作系统的信息等。 参阅源代码:ex5-15.4 Server对象5.4.1 Server对象的常用属性和方法 Server对象的常用属性有: MachineName属性和 ScriptTimeout属性常用方法见下表。5.4 Server对象5.4.2 Execute、Transfer和MapPath方法 1. Execute和Tr
9、ansfer方法 Server对象的Execute方法和Transfer方法都可以实现从当前页面跳转到另一页面的功能。但需要注意的是:Execute方法在新页面中的程序执行完毕后自动返回到原页面,继续执行后续代码;而Transfer方法在执行了跳转后不再返回原页面,后续语句也永远不会被执行。但跳转过程中Request、Session等对象中保存的信息不变,也就是说从A页面使用Transfer方法跳转到B页面后,可以继续使用A页面中提交的数据。 此外,由于Execute方法和Transfer方法都是在服务器端执行的,客户端浏览器并不知道已进行了一次页面跳转,所以其地址栏中的URL仍然是原页面的数
10、据。这一点与Response对象Redirect方法实现的页面跳转是不同的。5.4 Server对象5.4.3 Execute、Transfer和MapPath方法 2.MapPath方法 在Web应用程序执行时可能需要访问存放在服务器中的某一文件,此时就需要将文件的虚拟路径转换成服务器端对应的物理路径。而Server对象的MapPath方法就是用来完成这一任务的。MapPath()方法的语法格式为: Server.MapPath(虚拟路径);5.5 ASP.NET的状态管理5.5.1 创建和使用Cookie对象 1. 创建Cookie 浏览器负责管理客户机上的Cookie,Cookie需要通
11、过Response对象发送到浏览器,发送前需要将其添加到Cookie集合中。 Cookie有3个重要的参数:名称、值和有效期。如果没有设置Cookie的有效期,它仍可被创建,但不会被Response对象发送到客户端,而是将其作为用户会话的一部分进行维护,当用户关闭浏览器(会话结束)时该Cookie将被释放。这种非永久性Cookie十分适合用来保存只需要短暂保存或由于安全原因不能保存在客户机上的信息。 创建Cookie的语法格式如下: Response.Cookies名称.Value = 值; 5.5 ASP.NET的状态管理5.5.1 创建和使用Cookie对象 2. 读取Cookie 使用R
12、equest对象的Cookies属性可以读取保存在客户机上指定Cookie的值,其语法格式如下: 变量 = Request.Cookies名称.Value;5.5 ASP.NET的状态管理5.5.1 创建和使用Cookie对象 3. 使用多值Cookie 例如,下列语句创建了一个名为“Person”的Cookie集合,其中包含有3个子属性,对于浏览器来说,只相当于一条Cookie。 使用下列语句可从上述多值Cookie中读取数据。参阅源代码:ex5-25.5 ASP.NET的状态管理5.5.2 创建和使用Session对象 1. Session的工作原理 当用户请求一个ASP.NET页面时,系
13、统将自动创建一个Session,退出应用程序时该会话撤销。系统创建会话时将为其分配一个标识(SessionID),以实现对会话进行管理和跟踪。 SessionID具有的随机性和惟一性保证了会话不会冲突,也不能利用新SessionID推算出现有会话的SessionID。 通常情况下,SessionID会存放在客户端的Cookies内,当用户访问ASP.NET网站中任何一个页面时,SessionID将通过Cookie传递到服务器端,服务器根据SessionID的值对用户进行识别,以返回对应该用户的Session信息。5.5 ASP.NET的状态管理5.5.2 创建和使用Session对象 2. S
14、ession对象的常用属性及方法Session对象的常用属性见下表。5.5 ASP.NET的状态管理5.5.2 创建和使用Session对象 2. Session对象的常用属性及方法Session对象的常用方法见下表。5.5 ASP.NET的状态管理5.5.2 创建和使用Session对象 3. 使用Session对象 (1) 将数据保存到Session对象中 向Session对象中存入数据的方法十分简单,下面的语句使用户单击按钮时将3个字符串分别存入2个Session中。5.5 ASP.NET的状态管理5.5.2 创建和使用Session对象 3. 使用Session对象 (2) 从Sess
15、ion对象中取出数据 下面的语句表示了当目标页面装入时如何从Session对象中取出数据的方法。protected void Page_Load(object sender, EventArgs e) Label1.Text = (string)(SessionMyVal1); Label2.Text = Session“MyVal2”.ToString();5.5 ASP.NET的状态管理5.5.3 使用PreviousPage属性 1. PreviousPage与Session的比较 PreviousPage与Session相似,都可以实现跨页数据传递。二者主要的不同有以下几点: PreviousPage主要用来传递控件的属性值。Session不仅可以传递控件属性值,也可以方便地传递变量值。 PreviousPage与Session相比不需要一直占用服务器内存资源,特别适合跨页面传递较多数据的情况。 2. PreviousPage使用示例 参阅源代码:ex
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中外建筑史知到课后答案智慧树章节测试答案2025年春吉林电子信息职业技术学院
- 中西医结合耳鼻咽喉科学知到课后答案智慧树章节测试答案2025年春湖南中医药大学
- 2017-2018学年高中化学必修2课时训练第二章第一节化学能与热能
- 2017-2018学年人教A版高中数学选修2-2课后提升训练二十二321复数代数形式的加减运算及其几何意义
- 2025年拖拉机及农林牧渔用挂车项目发展计划
- 2017-2018学年人教A版高中数学选修2-3检测第三章统计案例能力深化提升
- 2025年原油降凝降粘剂项目合作计划书
- 天线近场测试仪系统总控软件2
- 乙方提供材料合同范例
- 板模板施工方案
- 医院财务知识培训
- 绿植花卉租赁合同
- 电子教案-《3D打印技术概论》
- JBT 11699-2013 高处作业吊篮安装、拆卸、使用技术规程
- 2024年全国版图知识竞赛(小学组)考试题库大全(含答案)
- 2024年北京控股集团有限公司招聘笔试参考题库含答案解析
- DB32T 4353-2022 房屋建筑和市政基础设施工程档案资料管理规程
- [合同协议]车辆挂靠协议书
- MT_T 1175-2019 输送瓦斯用钢管_(高清版)
- 铁路选线设计之断链
- 电子商务基础与实务PPT课件
评论
0/150
提交评论