第5章 ASPNET的状态管理.ppt

上传人:99****p 文档编号:1440772 上传时间:2019-02-27 格式:PPT 页数:46 大小:903.50KB
下载 相关 举报
第5章  ASPNET的状态管理.ppt_第1页
第1页 / 共46页
第5章  ASPNET的状态管理.ppt_第2页
第2页 / 共46页
第5章  ASPNET的状态管理.ppt_第3页
第3页 / 共46页
第5章  ASPNET的状态管理.ppt_第4页
第4页 / 共46页
第5章  ASPNET的状态管理.ppt_第5页
第5页 / 共46页
点击查看更多>>
资源描述

1、第 5章 ASP.NET的状态管理本章内容: ASP.NET的状态管理包括使用 Cookie、 Session、 Application对象实现状态管理,跨页存取数据,全局数据共享等。本章重点:使用 Cookie对象实现状态管理,使用 Session对象存、取数据,使用 Application对象共享数据。n 所谓 “状态管理 ”,是指使用 ASP.NET中的 ViewState、Cookie、 Session和 Application等对象实现页面数据缓存和传递的技术。n ASP.NET是一种无状态的网页连接机制,服务器处理客户端请求的网页后,与该客户端的连接就中断了。此外,到服务器端的每次

2、往返都将销毁并重新创建网页,因此,如果超出了单个网页的生存周期,网页中的信息将不复存在。也就是说,在默认情况下,服务器不会保存客户端再次请求页面和本次请求之间的关系和相关数据 。n 在 C/S架构的应用程序中,使用全局变量即可很好地解决这个问题,而在 ASP.NET环境中则需要使用与状态管理相关的对象来保存用户数据。5.1 状态管理概述n ViewState对象是 ASP.NET状态管理中常用的一个对象,它通常被用来保存 Web页信息及所含控件的值。n 5.2.1 ViewState对象概述n 使用 ViewState对象可以十分方便地在这一过程中保留当前页面中所包含的数据。n Web页面默认

3、是具有 “form runat=server”特性的, ASP.NET会自动在输出时给页面添加一个隐含字段。打开一个 aspx页面后,在浏览器中右击,在弹出的快捷菜单中单击 “查看源 ”,即可看到经服务器转换成 HTML格式后的页面源代码。如图 5-1所示的是包含在源代码中的 ViewState隐含字段及其值。5.2 创建和使用 ViewState对象n 有了这个隐含字段,页面中其他所有的控件状态,包括页面本身的一些状态都会保存到这个隐含字段的值里面。并且,每次页面提交时会一起提交到服务器。当服务器将处理完毕的页面回发给客户端时, ASP.NET会根据这个值来恢复页面到各个控件提交前的状态。n

4、 5.2.2 使用 ViewStaten 1. 使用 ViewState对象时的注意事项n 使用 ViewState(视图状态)对象可以带来很多方便,但仍需要注意以下问题。n ViewState对象仅能提供当前页面对象的状态信息,而且这些信息不能跨页使用 。n ViewState对象被序列化为 XML的形式,然后再进行Base64编码 。n 若页面中包含有一些用于分页显示数据的控件(如GridView),最好不要使用 ViewState对象 。n ViewState对象的 MaxPageStateFieldLength属性用来指定隐含字段的最大长度。n 2. 启用或禁用 ViewStaten

5、启用或禁止 ViewState保存某控件的信息,可以通过设置控件的 EnableViewState属性来实现。该属性值指示服务器控件是否向发出请求的客户端,保持自己的视图状态以及它所包含的任何子控件的视图状态。如果允许控件维护自己的视图状态,则应设置为 true(默认值);否则,应设置为 false。n 仅当 EnableViewState属性设置为 true时,页面或控件的ViewStateMode属性才起作用。如果 EnableViewState属性设置为 false,则即使 ViewStateMode属性设置为 Enabled,视图状态也将关闭。n 3. 使用 ViewState对象n

6、ViewState对象以 “键 /值对 ”的方式保存控件的名称和对应的值,以便在回发时还原控件的原始状态。对于控件的值保存和回发恢复,可由系统自动完成,一般不必为此编写专门的代码。若用户希望将一些特殊的数据保存到 ViewState对象中,则可以使用 ViewState对象的 Add()方法。其语法格式为:n ViewState.Add(键名称 , 值 )n 从 ViewState中读取值的语法格式为:n ViewState键名称 n 【演练 5-1】 本例将示范如何将一个字符串保存到ViewState中以及从 ViewState中提取出来的编程方法。如图 5-2所示,程序启动后,用户可在文本

7、框中随意输入一些字符后单击 “保存到 ViewState”按钮,将其保存起来。需要读取时,可单击 “从 ViewState中读取 ”按钮,将 ViewState中保存的指定数据显示到标签控件中,如图 5-3所示 。n 新建一个 ASP.NET空网站,向其中添加一个 Web窗体Default.aspx。向页面中添加一个文本框、一个标签和两个按钮控件。n 设置文本框的 ID属性为 txtString,设置标签控件的 ID属性为 lblShow,设置两个按钮的 ID属性分别为 btnSave和btnRead,设置两个按钮控件的 Text属性分别为 “保存到ViewState”和 “从 ViewSta

8、te中读取 ”。n 【演练 5-1】 代码n Cookie是由服务器发送给客户机,并保存在客户机中的一些记录用户数据的文本文件。当用户访问网站时, Web服务器会发送一小段资料存放在客户机中,它会把用户在网站上所打开的网页内容、在页面中进行的选择或者操作步骤逐一记录下来。当用户再次访问同一网站时(可能并不是相同的网页), Web服务器会首先查找客户机中是否存在有上次访问网站时留下的 Cookie信息。若有,则会根据具体 Cookie信息发送特定的网页给用户。n 在保存用户信息和维护浏览器状态方面,使用 Cookie无疑是一种很好的方法。例如,可以将用户的登录信息(用户名、密码、是否登录成功的状态等)存放在 Cookie中,方便应用程序对用户的合法性进行快速检查。5.3 创建和使用 Cookie对象

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 课件讲义

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。