第五章节ASNPET的状态管理.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五章节ASNPET的状态管理

第5章 ASP.NET的状态管理;所谓“状态管理”,是指使用ASP.NET中的ViewState、Cookie、Session和Application等对象实现页面数据缓存和传递的技术。 ASP.NET是一种无状态的网页连接机制,服务器处理客户端请求的网页后,与该客户端的连接就中断了。此外,到服务器端的每次往返都将销毁并重新创建网页,因此,如果超出了单个网页的生存周期,网页中的信息将不复存在。也就是说,在默认情况下,服务器不会保存客户端再次请求页面和本次请求之间的关系和相关数据。 在C/S架构的应用程序中,使用全局变量即可很好地解决这个问题,而在ASP.NET环境中则需要使用与状态管理相关的对象来保存用户数据。 ;ViewState对象是ASP.NET状态管理中常用的一个对象,它通常被用来保存Web页信息及所含控件的值。 5.2.1 ViewState对象概述 使用ViewState对象可以十分方便地在这一过程中保留当前页面中所包含的数据。 Web页面默认是具有“form runat=server”特性的,ASP.NET会自动在输出时给页面添加一个隐含字段。打开一个aspx页面后,在浏览器中右击,在弹出的快捷菜单中单击“查看源”,即可看到经服务器转换成HTML格式后的页面源代码。如图5-1所示的是包含在源代码中的ViewState隐含字段及其值。 ;有了这个隐含字段,页面中其他所有的控件状态,包括页面本身的一些状态都会保存到这个隐含字段的值里面。并且,每次页面提交时会一起提交到服务器。当服务器将处理完毕的页面回发给客户端时,ASP.NET会根据这个值来恢复页面到各个控件提交前的状态。 ;5.2.2 使用ViewState 1. 使用ViewState对象时的注意事项 使用ViewState(视图状态)对象可以带来很多方便,但仍需要注意以下问题。 ① ViewState对象仅能提供当前页面对象的状态信息,而且这些信息不能跨页使用。 ② ViewState对象被序列化为XML的形式,然后再进行Base64编码。 ③ 若页面中包含有一些用于分页显示数据的控件(如GridView),最好不要使用ViewState对象。 ④ ViewState对象的MaxPageStateFieldLength属性用来指定隐含字段的最大长度。;2. 启用或禁用ViewState 启用或禁止ViewState保存某控件的信息,可以通过设置控件的EnableViewState属性来实现。该属性值指示服务器控件是否向发出请求的客户端,保持自己的视图状态以及它所包含的任何子控件的视图状态。如果允许控件维护自己的视图状态,则应设置为true(默认值);否则,应设置为false。 仅当EnableViewState属性设置为true时,页面或控件的ViewStateMode属性才起作用。如果EnableViewState属性设置为false,则即使ViewStateMode属性设置为Enabled,视图状态也将关闭。 ;3. 使用ViewState对象 ViewState对象以“键/值对”的方式保存控件的名称和对应的值,以便在回发时还原控件的原始状态。对于控件的值保存和回发恢复,可由系统自动完成,一般不必为此编写专门的代码。若用户希望将一些特殊的数据保存到ViewState对象中,则可以使用ViewState对象的Add()方法。其语法格式为: ViewState.Add(键名称, 值) 从ViewState中读取值的语法格式为: ViewState[键名称] ;【演练5-1】 本例将示范如何将一个字符串保存到ViewState中以及从ViewState中提取出来的编程方法。如图5-2所示,程序启动后,用户可在文本框中随意输入一些字符后单击“保存到ViewState”按钮,将其保存起来。需要读取时,可单击“从ViewState中读取”按钮,将ViewState中保存的指定数据显示到标签控件中,如图5-3所示。 ;新建一个ASP.NET空网站,向其中添加一个Web窗体Default.aspx。向页面中添加一个文本框、一个标签和两个按钮控件。 设置文本框的ID属性为txtString,设置标签控件的ID属性为lblShow,设置两个按钮的ID属性分别为btnSave和btnRead,设置两个按钮控件的Text属性分别为“保存到ViewState”和“从ViewState中读取”。 【演练5-1】代码 ;Cookie是由服务器发送给客户机,并保存在客户机中的一些记录用户数据的文本文件。当用户访问网站时,Web服务器会发送一小段资料存放在客户机中,它会把用户在网站上所打开的网页内容、在页面中进行的选择或者操作步骤逐一记录下来。当用户再次访问同一网站时(可能并不是相

文档评论(0)

junjun37473 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档