2010-12-15 100 views
1

我读这某处:ViewState是否需要服务器资源?我想不是

“因为对于一个给定的 页面视图状态必须保持在服务器上,也可以对当前 状态不同步与当前页面 浏览器,如果用户使用的 浏览器的返回功能回到了历史

我怀疑这可能不是默认设置,而是存储在服务器上的视图状态的选项,在页面和服务器中存储ViewState的意义是什么?我对么?

如果ViewState存储在服务器上,如何避免在此处描述的BackButton isue?

回答

2

ASP.NET ViewState存储在客户端的一个(或多个)隐藏的HTML输入字段中。我真的很想看到你读到那个不正确的语句。

服务器完全忘记一次发送ViewState。作为防止篡改的安全措施,ASP.NET可以对其进行加密并根据其密钥对其进行验证。如果您使用设置键(而不是自动生成键),则即使服务器已关闭并完全重新引导,该视图状态也会有效。所有这些都说明在视图状态下没有任何内容存储在服务器上。

+1

我认为这里的线索可能是在引用中使用“视图状态”而不是“ViewState”,并且可能适用于维护不涉及使用ASP.NET ViewState机制的状态的不同方法。 – Lazarus 2010-12-15 12:51:23

+0

@拉扎罗斯 - 极好的一点;我没有注意到这个特别的消息,但那只是我希望能解释这种说法的那种可能性。 – 2010-12-15 12:52:27

+1

@Andrew Barber:只是像我这样的一个嘲弄者会注意到的珍闻;) – Lazarus 2010-12-15 12:58:18

相关问题