我们如何决定ASP.NET中的viewstate和hidden字段。
在我的情况下我使用页面交叉发布回来并使用第一页的公共属性我在第二个aspx页面访问它们。
在第二个aspx页面中获取公共变量后,我需要在第二页中访问这些值,但是一旦我在第二页中回发,我就无法找到这些值。
因此,为了解决这个问题,我有两个解决方案要么在第二页使用viewstate,要么在第二页使用隐藏字段。
我无法决定应该使用哪一个?
答案 0 :(得分:8)
方法完全相同。只有差异应该是存储信息的大小(viewstate使用[有时加密] base64而隐藏字段使用纯文本,除非你自己编码),viewstate允许你确保数据没有被篡改,这要归功于默认验证它已经到位。
答案 1 :(得分:1)
视图状态与asp.net中隐藏字段的区别
http://royalarun.blogspot.in/2012/03/difference-between-view-state-and.html
两者都用于在asp.net中回发期间存储值,但是
在View状态 - 无法通过客户端代码更改值,即java脚本 隐藏字段 - 可以通过客户端代码更改值。
处于查看状态 - 您可以存储多个值,例如Datatable和Dataset
隐藏字段 - 您可以通过序列化在隐藏字段中存储多个值。
查看状态数据已加密且隐藏字段未加密
答案 2 :(得分:0)
如果数据很小并且您希望根据某些客户端行为操纵该值,则隐藏字段将非常有用。