次の方法で共有


PageStatePersister.ControlState プロパティ

定義

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

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 プロパティが オブジェクトの Pair フィールドにSecond割り当てられ、 クラスを使用して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 使用する方法の詳細については、「 Developing Custom ASP.NET Server Controls」を参照してください。

適用対象