Control.ViewState プロパティ


同一のページに対する複数の要求にわたって、サーバー コントロールのビューステートを保存し、復元できるようにする状態情報のディクショナリを取得します。Gets a dictionary of state information that allows you to save and restore the view state of a server control across multiple requests for the same page.

 virtual property System::Web::UI::StateBag ^ ViewState { System::Web::UI::StateBag ^ get(); };
protected virtual System.Web.UI.StateBag ViewState { get; }
member this.ViewState : System.Web.UI.StateBag
Protected Overridable ReadOnly Property ViewState As StateBag



サーバー コントロールのビューステートの情報を格納している StateBag クラスのインスタンス。An instance of the StateBag class that contains the server control's view-state information.


次の例では、 Text コントロールのプロパティから値を格納して取得するプロパティを実装する方法を示し ViewState ます。The following example demonstrates implementing a Text property that stores and retrieves its value from its control's ViewState property.

// Add property values to view state with set;
// retrieve them from view state with get.
public String Text
        object o = ViewState["Text"]; 
        return (o == null)? String.Empty : (string)o;

        ViewState["Text"] = value;

' Add property values to view state with set; 
' retrieve them from view state with get.
Public Property [Text]() As String
        Dim o As Object = ViewState("Text")
        If (IsNothing(o)) Then
            Return String.Empty
            Return CStr(o)
        End If
    End Get
    Set(ByVal value As String)
        ViewState("Text") = value
    End Set
End Property


サーバーコントロールのビューステートは、すべてのプロパティ値を累積したものです。A server control's view state is the accumulation of all its property values. これらの値を HTTP 要求間で保持するために、ASP.NET サーバーコントロールは、クラスのインスタンスであるこのプロパティを使用し StateBag て、プロパティ値を格納します。In order to preserve these values across HTTP requests, ASP.NET server controls use this property, which is an instance of the StateBag class, to store the property values. 値は、後続の要求が処理されるときに、HTML 非表示の input 要素に変数として渡されます。The values are then passed as a variable to an HTML hidden input element when subsequent requests are processed. サーバーコントロールのビューステートを保存する方法の詳細については、「 ASP.NET State Management の概要」を参照してください。For more information about saving server control view state, see ASP.NET State Management Overview.

既定では、すべてのサーバーコントロールに対してビューステートが有効になっていますが、無効にする必要がある状況もあります。View state is enabled for all server controls by default, but there are circumstances in which you will want to disable it. 詳細については、「 ASP.NET Performance の概要」を参照してください。For more information, see ASP.NET Performance Overview.

ディクショナリとその使用方法の詳細については、「コレクションとデータ構造体」を参照してください。For information about dictionaries and how to use them, see Collections and Data Structures.