Dan*_*han 5 c# asp.net viewstate request
每当我们提交表单时,所有字段值都会发布到服务器并在Request对象中可用.理想情况下,可以使用相同的对象来读取值并使用它执行任何操作.
那么,为什么我们需要ViewState来保存字段的值?
请原谅我的无知,我想我错过了一些非常明显的事情,但是无法弄清楚是什么.
yor*_*rah 5
在ASP.Net中引入ViewState的最明显原因是为了允许类似winform的编程模型(基于事件).
当您有服务器端控件(例如文本框)时,发送回浏览器的html页面包含:
当表单提交回服务器时,ASP.Net底层引擎会将控件新值与存储在ViewState中的初始值进行比较.如果它不相同,将触发OnChange事件,您可以像在winform应用程序中那样附加到它.
Stu*_*tLC 3
根据 V4Vendetta,您可以禁用控件上的 ViewState,但是您需要手动开发“ASP 经典样式”,例如,如果您需要将用户保留在页面上并且表单验证失败,则需要设置初始值恢复为用户上次设置的值,否则用户数据将丢失。
ASP Net 控件通过在 ViewState 中保留此信息来更优雅地处理此问题。但是,如果您永远不需要再次呈现控件,或者每次都从新呈现控件数据而不需要其先前的状态(例如分页网格),那么禁用控件的 ViewState 将节省您的带宽。
这里对 ViewState 有很好的解释。
归档时间:
14 年,11 月 前
查看次数:
1810 次
最近记录: