次の方法で共有


PageStatePersister.ViewState プロパティ

定義

オブジェクトを取得または設定します。このオブジェクトは、現在の Page オブジェクトによって格納されているコントロールが Web サーバーへの HTTP 要求間で永続化するために使用しているデータを表します。

public:
 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

プロパティ値

ビューステート データを格納しているオブジェクト。

次のコード例は、 クラスから PageStatePersister 派生したクラスが プロパティを初期化する方法を ViewState 示しています。 この例では、 ViewState プロパティが オブジェクトのフィールドにFirst割り当てられ、インターフェイスのPairインスタンスIStateFormatterである オブジェクトをObjectStateFormatter使用してシリアル化されています。 メソッドがLoad呼び出されると、インターフェイスをObjectStateFormatter使用してビューステート情報が逆シリアル化され、結果PairViewStateオブジェクトのFirstフィールドから プロパティが初期化されます。 このコード例は、PageStatePersister クラスのために提供されている大規模な例の一部です。

//
// 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;
    reader.Close();
    stateStream.Close();
}
'
' 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
    reader.Close()
    stateStream.Close()
End Sub

注釈

ビュー ステートは、Web サーバー コントロールが自身で機能してレンダリングするために必要な状態データのディクショナリです。 コントロール開発者は、通常、 プロパティを使用してビューステート オブジェクトに ViewState アクセスします。 ビューステートがレベルで無効になっている場合、ビューステートが影響を Page 受け、その結果、これらのシナリオではコントロールが正しく動作しない可能性があります。 コントロールを開発するときの と ViewState コントロールの状態の詳細については、「 カスタム ASP.NET サーバー コントロールの開発」を参照してください。

適用対象