获取状态信息的字典,这些信息使您可以在同一页的多个请求间保存和还原服务器控件的视图状态。
命名空间:System.Web.UI
程序集:System.Web(在 system.web.dll 中)
Protected Overridable ReadOnly Property ViewState As StateBag
Dim value As StateBag
value = Me.ViewState
protected virtual StateBag ViewState { get; }
protected:
virtual property StateBag^ ViewState {
StateBag^ get ();
}
/** @property */
protected StateBag get_ViewState ()
protected function get ViewState () : StateBag
属性值
包含服务器控件视图状态信息的 StateBag 类的实例。
服务器控件的视图状态为其所有属性值的累计。为了在 HTTP 请求间保留这些值,ASP.NET 服务器控件使用该属性(它是 StateBag 类的实例)来存储属性值。在处理后续请求时,该值随即作为变量传递给 HTML 隐藏输入元素。有关保存服务器控件视图状态的更多信息,请参见 ASP.NET 状态管理。
默认情况下启用所有服务器控件的视图状态,但在有些情况下需要禁用视图状态。有关更多信息,请参见 开发高性能的 ASP.NET 应用程序。
有关字典和如何使用字典的信息,请参见 集合和数据结构。
下面的示例演示如何实现从其控件的 ViewState 属性存储和检索值的 Text 属性。
' Add property values to view state with set;
' retrieve them from view state with get.
Public Property [Text]() As String
Get
Dim o As Object = ViewState("Text")
If (IsNothing(o)) Then
Return String.Empty
Else
Return CStr(o)
End If
End Get
Set(ByVal value As String)
ViewState("Text") = value
End Set
End Property
private const int defaultFontSize = 3;
// Add property values to view state with set;
// retrieve them from view state with get.
public String Text
{
get
{
object o = ViewState["text"];
return (o == null)? String.Empty : (string)o;
}
set
{
ViewState["Text"] = value;
}
}
// Add property values to view state with set;
// retrieve them from view state with get.
/** @property
*/
public String get_Text()
{
return ((String)(get_ViewState().get_Item("Text")));
} //get_Text
/** @property
*/
public void set_Text(String value)
{
get_ViewState().set_Item("Text", value);
} //set_Text
// Add property values to view state with set;
// retrieve them from view state with get.
public function get Text() : String
{
return String(ViewState["Text"]);
}
public function set Text(value : String)
{
ViewState["Text"] = value;
}
Windows 98、Windows 2000 SP4、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition
.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求。
.NET Framework
受以下版本支持:2.0、1.1、1.0