PageStatePersister.ViewState プロパティ


オブジェクトを取得または設定します。このオブジェクトは、現在の Page オブジェクトによって格納されているコントロールが Web サーバーへの HTTP 要求間で永続化するために使用しているデータを表します。Gets or sets an object that represents the data that controls contained by the current Page object use to persist across HTTP requests to the Web server.

 property System::Object ^ ViewState { System::Object ^ get(); void set(System::Object ^ value); };
public object ViewState { get; set; }
member this.ViewState : obj with get, set
Public Property ViewState As Object


ビューステート データを格納しているオブジェクト。An object that contains view state data.

次のコード例は、PageStatePersister クラスから派生したクラスが ViewState プロパティを初期化する方法を示しています。The following code example demonstrates how a class that derives from the PageStatePersister class initializes the ViewState property. この例では、ViewState プロパティが Pair オブジェクトの First フィールドに割り当てられ、ObjectStateFormatter オブジェクトを使用してシリアル化されています。これは IStateFormatter インターフェイスのインスタンスです。In this example, the ViewState property has been assigned to the First field of a Pair object, and serialized using the ObjectStateFormatter object, which is an instance of the IStateFormatter interface. Load メソッドが呼び出されると、ObjectStateFormatter インターフェイスを使用してビューステート情報が逆シリアル化され、ViewState プロパティが結果の Pair オブジェクトの First フィールドから初期化されます。When the Load method is called, the ObjectStateFormatter interface is used to deserialize view state information, and the ViewState property is initialized from the resulting Pair object's First field. このコード例は、PageStatePersister クラス用に用意されている大規模な例の一部です。This code example is part of a larger example provided for the PageStatePersister class.

// Load ViewState and ControlState.
public override void Load()
    Stream stateStream = GetSecureStream();

    // Read the state string, using the StateFormatter.
    StreamReader reader = new StreamReader(stateStream);

    IStateFormatter formatter = this.StateFormatter;
    string fileContents = reader.ReadToEnd();

    // Deserilize returns the Pair object that is serialized in
    // the Save method.
    Pair statePair = (Pair)formatter.Deserialize(fileContents);

    ViewState = statePair.First;
    ControlState = statePair.Second;
' Load ViewState and ControlState.
Public Overrides Sub Load()

    Dim stateStream As Stream
    stateStream = GetSecureStream()

    ' Read the state string, using the StateFormatter.
    Dim reader As New StreamReader(stateStream)

    Dim serializedStatePair As String
    serializedStatePair = reader.ReadToEnd
    Dim statePair As Pair

    Dim formatter As IStateFormatter
    formatter = Me.StateFormatter

    ' Deserilize returns the Pair object that is serialized in
    ' the Save method.      
    statePair = CType(formatter.Deserialize(serializedStatePair), Pair)

    ViewState = statePair.First
    ControlState = statePair.Second
End Sub


ビューステートは、Web サーバーコントロールが自身で機能してレンダリングする必要がある状態データのディクショナリです。View state is a dictionary of state data that Web server controls need to function and render themselves. コントロール開発者は、通常、ViewState プロパティを使用してビューステートオブジェクトにアクセスします。Control developers typically access the view state object using the ViewState property. ビューステートは、Page レベルでビューステートが無効になっていると影響を受けます。その結果、このようなシナリオでは、コントロールが正しく動作しなくなる可能性があります。View state is affected when view state is disabled at the Page level, and as a result controls might not behave correctly in these scenarios. コントロールの開発時に ViewState とコントロールの状態を使用する方法の詳細については、「カスタム ASP.NET サーバーコントロールの開発」を参照してください。For more information on using ViewState and control state when developing controls, see Developing Custom ASP.NET Server Controls.