【发布时间】:2009-01-08 13:05:30
【问题描述】:
如果我有一段简单的数据要存储(例如整数或字符串),我可能会选择将其存储在 ViewState 中,或者使用 HiddenField 控件。
为什么我会选择一个而不是另一个?
视图状态
- 用户难以解码(认为并非不可能),这可能是可取的
隐藏字段
- 值可以在 JavaScript 中使用
还有其他优点和缺点吗?
【问题讨论】:
-
也可以在Session对象中存储数据
-
是的,我可以将其存储在 Session 中,但是在这种情况下,数据仅与相关页面相关,因此出于封装原因,我更愿意将其存储在页面上。
-
将数据存储在会话中本质上会使其在范围内具有全局性。将其存储在页面中会缩小其范围,这是更好的设计实践。
-
同意,如果它只与页面相关。我会选择 ViewState,主要是因为 dant 指出的原因。
标签: asp.net viewstate hidden-field