我是如何在C#中使用ViewState
困惑,例如什么是使用的好处:我什么时候需要使用ViewState的
ViewState["VST"]="Value1";
Lable1.Text= ViewState["VST"].ToString();
虽然我可以用:
string container= "Value1";
Lable1.Text= container;
我是如何在C#中使用ViewState
困惑,例如什么是使用的好处:我什么时候需要使用ViewState的
ViewState["VST"]="Value1";
Lable1.Text= ViewState["VST"].ToString();
虽然我可以用:
string container= "Value1";
Lable1.Text= container;
你ViewState由变量组成,它们与页面的后备一起保存,因为它们被发送到客户端,客户端将它们发送回整个页面。
因此,如果你这样做:
string container= "Value1";
Lable1.Text= container;
那么用户看到的网页,并点击提交按钮,您的container
字符串将不存在。
然而,如果你使用ViewState的,的ViewState [“VST”]将仍然有,因为它会被“刷新”,当用户提交并发送页面返回值。
更多here,也明白了ASP.NET页面生命周期。
如果您想在回发之后保留值,那么ViewState也是最佳选择。
按照文档:
视图状态是由ASP.NET页面框架自动用于保存必须回发之间保存信息。这些信息包括控件的任何非默认值。 您还可以使用视图状态来存储特定于页面的应用程序数据。
详见链接:http://msdn.microsoft.com/en-us/library/bb386448(v=vs.100).aspx
每当您的应用程序做你的控件回发当前值被一扫而光。因此,为了让您在页面内存储任何值,您可以将它们保存在ViewState中。当然,您必须首先将EnableViewState属性设置为true。其他信息,如果你想在跳转到多个页面时存储任何值或状态,你可以使用Session来代替。