2013-02-11 61 views
1

我是如何在C#中使用ViewState困惑,例如什么是使用的好处:我什么时候需要使用ViewState的

ViewState["VST"]="Value1"; 

Lable1.Text= ViewState["VST"].ToString(); 

虽然我可以用:

string container= "Value1"; 
Lable1.Text= container; 

回答

3

你ViewState由变量组成,它们与页面的后备一起保存,因为它们被发送到客户端,客户端将它们发送回整个页面。

因此,如果你这样做:

string container= "Value1"; 
Lable1.Text= container; 

那么用户看到的网页,并点击提交按钮,您的container字符串将不存在。

然而,如果你使用ViewState的,的ViewState [“VST”]将仍然有,因为它会被“刷新”,当用户提交并发送页面返回值。

更多here,也明白了ASP.NET页面生命周期。

1

如果您想在回发之后保留值,那么ViewState也是最佳选择。

1

每当您的应用程序做你的控件回发当前值被一扫而光。因此,为了让您在页面内存储任何值,您可以将它们保存在ViewState中。当然,您必须首先将EnableViewState属性设置为true。其他信息,如果你想在跳转到多个页面时存储任何值或状态,你可以使用Session来代替。

相关问题