标题:[求助] 关于asp.net viewstate的问题,谢谢了
只看楼主
shupingda
Rank: 1
等 级:新手上路
帖 子:57
专家分:0
注 册:2006-11-1
 问题点数:0 回复次数:1 
[求助] 关于asp.net viewstate的问题,谢谢了
问题1:如果启用了控件的viewstate 属性,那当客户在请求一个aspx页面时,该页面上的 ViewState 值和所有控件将被收集并格式化成一个编码字符串,然后被分配给隐藏窗体字段的值属性(即 <input type=hidden>)中,由于隐藏窗体字段是发送到客户端的页面的一部分,所以 ViewState 值被临时存储在客户端的浏览器中。如果客户端选择将该页面回传给服务器,则 ViewState 字符串也将被回传。回传后,ASP.NET 页面框架将解析 ViewState 字符串,并为该页面和各个控件填充 ViewState 属性。然后,控件再使用 ViewState 数据将自己重新恢复为以前的状态。


现在我假设,开始页面中有一个textbox控件,其text值初始为空,
请问:此时viewstate中到底存了什么呢,是textbox控件的ID和其值吗

当客户在textbox中填如"hello,china"后再回传,此时viewstate又寸了什么呢,是textboxID和"hello,china吗

最好讲的详细点,

我实在搞不懂viewstate怎么用,哪个高手会啊,可以教我一下啊,
肯教我的留下QQ,让我在这个小虾米向您学几照吧,谢谢谢谢
搜索更多相关主题的帖子: viewstate asp 
2007-06-14 14:26
铲铲
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:34
帖 子:506
专家分:0
注 册:2006-5-2
得分:0 

第一次,初始值为空,
那么TextBox的内容是空的,ViewState中存储的值也是空的。

假设输入了内容hello,china,当你提交的方式返回服务器(不是刷新哦)时,
ASP.NET通过比对ViewState中(空字符串)和你在TextBox中输入(hello,china)的不同,来比对决定引发TextChanged事件。(如果你注册了事件方法,则执行)。

在发送页面的时候,ASP.NET将你新内容(hello,china)存储到ViewState中,并且TextBox的初始值设置为你所输入的内容(hello,china),然后发送到客户端。

再下一次,还是重复上述过程。

ViewState只是页面级别的状态保持技术,不可能代替Cookie、Session等会话级别的状态保持技术。他们的范畴不一样。

如果你是很常规的开发应用,完全不用考虑ViewState,ASP.NET帮助你维护它。除非你考虑性能问题的话,可以在“不需要提交返回”的页面上禁用ViewState来减小页面尺寸。想要知道它的原理和细节,可以到微软的MSDN上去看看。我手上也没有详尽的资料来解释它们。


铲铲是也
2007-06-17 01:05



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-147443-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.174967 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved