2009-07-16 41 views
4

我们如何才能在ASP.NET中对视图状态和隐藏字段做出决定。在asp.net中查看状态与隐藏字段

在我的情况下,我正在使用页面交叉回发和通过使用第一页的公共属性,我访问他们在第二aspx页面。

在第二个aspx页面中获取公共变量后,我需要访问第二页中的这些值,但只要我在第二页中回发,我无法找到这些值。

因此,要解决这个问题,我有两个解决方案或者在第二页使用viewstate或在第二页使用隐藏字段。

我无法决定使用哪一个?

回答

8

该方法完全相同。唯一的区别应该是存储信息的大小(viewstate使用[有时加密] base64,而隐藏字段使用纯文本,除非你自己编码它们),viewstate允许你确保数据没有被篡改,这要归功于默认验证已经到位。

+0

非常感谢您 – 2009-07-16 09:37:26

0

如果数据很小并且想要根据某些客户端行为来操作该值,则隐藏字段将很有用。

0

在asp.net视图状态和隐藏字段的差异

http://royalarun.blogspot.in/2012/03/difference-between-view-state-and.html

二者都用于存储在asp.net回发期间的值,但

在View状态 - 无法通过客户端代码(即Java脚本)更改值。
隐藏字段 - 可能通过客户端代码更改值。

视图状态 - 您可以将喜欢的DataTable和数据集多个值
隐藏字段 - 您可以存储比隐藏字段一个值,通过序列化它。

视图状态数据进行加密和隐藏字段是不加密的