asp.net viewstate 值丢失问题

2025-02-22 13:55:45
推荐回答(4个)
回答1:

ViewState赋值后,在客户端以序列化形式保存。当发生窗体回调之后,服务器在LoadViewState方法里复原。
你的问题估计是发起了全新的请求,而不是回调,所以ViewState丢失。
在没有源代码的情况,我也只能猜测。
如果还是无法解决,就用session或Cookie吧。

回答2:

viewstate 变量是用来保存当前窗体的数据的
比如你设置了一个控件的viewstate是true,当提交时遇到错误,单击“后退”时,你填写的数据会保持到对应的控件中

如果想进行传值的话,可以使用cookie,session变量,也可以直接使用地址栏中的变量,就像你的例子中default.aspx?param=123"把123传递给了default页面

回答3:

viewstate 只保存本页(post)数据,链接时无法传递此变量,应该使用 Cookies/QueryString/Session 等其它方式来实现

回答4:

ViewState在提交后就没有了,可以用Session,cache,cookie等