PageStatePersister.ControlState プロパティ

定義

Web サーバーに対する HTTP 要求間で保持するために使用する現在の Page オブジェクトに含まれるデータを表すオブジェクトを取得または設定します。

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

プロパティ値

ビュー ステート データを含むオブジェクト。

次のコード例は、 PageStatePersister クラスから派生したクラスが ControlState プロパティを初期化する方法を示しています。 この例では、ControlState プロパティがSecond オブジェクトのPair フィールドに割り当てられ、ObjectStateFormatter クラスを使用してシリアル化されています。 Load メソッドが呼び出されると、ObjectStateFormatter クラスを使用してビューステートとコントロールの状態情報を逆シリアル化し、結果のControlState オブジェクトのPair フィールドからSecond プロパティが初期化されます。 このコード例は、 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 サーバー コントロールが機能するために必要な重要なビューステート データで構成されるオブジェクトであり、通常のビューステート情報とは別のオブジェクトに含まれています。 ビューステートが Page レベルで無効になっている場合、制御状態データは影響を受けませんが、使用するには追加の実装手順が必要です。 コントロールの開発時に ViewState プロパティとコントロールの状態を使用する方法の詳細については、「 カスタム ASP.NET サーバー コントロールの開発」を参照してください。

適用対象