我对如何ViewState
在 C# 中使用感到困惑,例如使用有什么好处:
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"] 仍将具有该值,因为当用户提交并将页面发回时它将被“刷新”。
在此处阅读更多内容并了解 ASP.NET 页面生命周期。
根据文档:
ASP.NET 页面框架自动使用视图状态来保存必须在回发之间保留的信息。此信息包括控件的任何非默认值。您还可以使用视图状态来存储特定于页面的应用程序数据。
有关详细信息,请参阅链接: http: //msdn.microsoft.com/en-us/library/bb386448 (v=vs.100).aspx
如果您还想在回发后保留这些值,那么 ViewState 是最好的选择。
每次您的应用程序执行回发时,您的控件的当前值都会被清除。因此,为了让您在页面内存储任何值,您可以将它们保存在 ViewState 中。当然,您必须首先将 EnableViewState 属性设置为 true。附加信息,如果您想在跳转到多个页面时存储任何值或状态,您可以使用 Session 代替。