我对如何在C#中使用ViewState
感到困惑,例如使用的好处是什么:
ViewState["VST"]="Value1";
Lable1.Text= ViewState["VST"].ToString();
我可以使用:
string container= "Value1";
Lable1.Text= container;
答案 0 :(得分:4)
您的ViewState由与页面回发保留的变量组成,因为它们被发送到客户端,客户端将它们与整个页面一起发回。
因此,如果您这样做:
string container= "Value1";
Lable1.Text= container;
然后,用户会看到该页面并点击提交按钮,您的container
字符串将不存在。
如果您使用ViewState,ViewState [“VST”]仍将具有该值,因为当用户提交并发回该页面时,它将被“刷新”。
阅读更多here并了解ASP.NET页面生命周期。
答案 1 :(得分:2)
根据文件:
ASP.NET页面框架自动使用视图状态来保存必须在回发之间保留的信息。此信息包括控件的任何非默认值。 您还可以使用视图状态来存储特定于页面的应用程序数据。
有关详细信息,请参阅链接:http://msdn.microsoft.com/en-us/library/bb386448(v=vs.100).aspx
答案 2 :(得分:1)
如果你想在回发后保留值而不是ViewState是最好的选择。
答案 3 :(得分:1)
每当您的应用程序执行回发操作时,控件的当前值都将被清除。因此,为了在页面中存储任何值,您可以将它们保存在ViewState中。当然,您必须首先将EnableViewState属性设置为true。其他信息,如果您想在跳转到多个页面时存储任何值或状态,则可以使用Session。