最近在很多程序中看见了ViewState,因此找点资料,写点东西
2008-11-25 16:48
459 查看
ViewState的工作原理
ViewState确实没有什么神秘之处,它是由ASP.NET页面框架管理的一个隐藏的窗体字段。当ASP.NET执行某个页面时,该页面上的ViewState值和所有控件将被收集并格式化成一个编码字符串,然后被分配给隐藏窗体字段的值属性(即<inputtype=hidden>)。由于隐藏窗体字段是发送到客户端的页面的一部分,所以ViewState值被临时存储在客户端的浏览器中。如果客户端选择将该页面回传给服务器,则ViewState字符串也将被回传。在上面的图2中可以看到ViewState窗体字段及其回传的值。
回传后,ASP.NET页面框架将解析ViewState字符串,并为该页面和各个控件填充ViewState属性。然后,控件再使用ViewState数据将自己重新恢复为以前的状态。
看了很多感觉比较深奥,对于我来说,现在最多的使用应该是如下吧:
想在页面上不通过标签label来记住页面中的某个值,就可以使用ViewState来做,可以这样写:
ViewState["id"]==DataTable.Rows[0]["sm_id"].ToString();
然后后面有地方用到这个值的话,就可以直接用ViewState["id"]来赋值就行了.
ViewState确实没有什么神秘之处,它是由ASP.NET页面框架管理的一个隐藏的窗体字段。当ASP.NET执行某个页面时,该页面上的ViewState值和所有控件将被收集并格式化成一个编码字符串,然后被分配给隐藏窗体字段的值属性(即<inputtype=hidden>)。由于隐藏窗体字段是发送到客户端的页面的一部分,所以ViewState值被临时存储在客户端的浏览器中。如果客户端选择将该页面回传给服务器,则ViewState字符串也将被回传。在上面的图2中可以看到ViewState窗体字段及其回传的值。
回传后,ASP.NET页面框架将解析ViewState字符串,并为该页面和各个控件填充ViewState属性。然后,控件再使用ViewState数据将自己重新恢复为以前的状态。
看了很多感觉比较深奥,对于我来说,现在最多的使用应该是如下吧:
想在页面上不通过标签label来记住页面中的某个值,就可以使用ViewState来做,可以这样写:
ViewState["id"]==DataTable.Rows[0]["sm_id"].ToString();
然后后面有地方用到这个值的话,就可以直接用ViewState["id"]来赋值就行了.
相关文章推荐
- 最近博客被盗,发了很多不该发的东西,请大家见谅
- 最近搬家,好多东西,那就无聊地写个对应的程序吧!
- 最近做个东西 写了一个HTML解析程序
- 最近玩了一下qt5.2.1,顺着写点东西,关于这个版本设置程序主窗口居中
- (11)Web程序保存状态的几种方式,Application,Session,Cookie,ViewState
- 5.最近研究了很多数据恢复的东西.........
- 客观看待ViewState对Asp.net程序作用和影响
- 转载viewstate(一) 太经典的东西 不得不转载保存下来
- 客观看待ViewState对Asp.net程序作用和影响
- 好老的文章了,今天把它挖出来了,其实在整个JAVA的学习中偶然性很多,改变你路线的东西也很多,很多东西是跟着工作的变化而变化的,因此关键在于把其中几个学精通,有个主方向,并要懂灵活变化。真个技术生涯还
- N久没写过东西了..写个最近在研究的程序
- 你知道的,javascript语言的执行环境是"单线程模式",这种模式的好处是实现起来比较简单,执行环境相对单纯;坏处是只要有一个任务耗时很长,后面的任务都必须排队等着,会拖延整个程序的执行,因此很多时候需要进行“异步模式”,请列举js异步编程的方法。
- 最近使用jquery比较多,网上搜了很多有用的东西,先记下来!(1.动态添加表格行, 2.下拉框联动)
- 最近想做一个音乐播放器,苦于不知道怎么获取音频文件的tag信息,查了很多资料,终于稍微有点眉目
- 最近刚刚接触CAD二次开发,记录下开发的过程。查阅很多资料。(blue17300589)
- 客观看待ViewState对Asp.net程序作用和影响
- 世界上好玩的东西很多,不是什么东西都可以弄精通 的,但吃饭的家伙还真得精通。厨师不能靠意念炒菜、司机不能靠意念开车,你也不能靠意念写程序,人不能活 在想象之中,电脑帮我们写程序的科幻时代还没到来。学不好,是你没刻苦努力,与你的才智无关。
- asp.net网页程序中的“公共变量”-ViewState
- 经常在网上查找资料,因为要学的东西很偏,资料太少,也走了很多弯路。现在把我找到的资料共享给大家。方便一下。
- VS2005下的WAP程序开发(OnViewStateExpire问题解决)