PageStatePersister.ControlState プロパティ


オブジェクトを取得または設定します。このオブジェクトは、現在の 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 ^ 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


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

次のコード例は、PageStatePersister クラスから派生したクラスが ControlState プロパティを初期化する方法を示しています。The following code example demonstrates how a class that derives from the PageStatePersister class initializes the ControlState property. この例では、ControlState プロパティが Pair オブジェクトの Second フィールドに割り当てられ、ObjectStateFormatter クラスを使用してシリアル化されています。In this example, the ControlState property has been assigned to the Second field of a Pair object, and serialized using the ObjectStateFormatter class. Load メソッドが呼び出されると、ObjectStateFormatter クラスを使用してビューステートとコントロールの状態情報が逆シリアル化され、ControlState プロパティが結果の Pair オブジェクトの Second フィールドから初期化されます。When the Load method is called, the ObjectStateFormatter class is used to deserialize view state and control state information, and the ControlState property is initialized from the resulting Pair object's Second 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 サーバーコントロールが機能する必要がある重大なビューステートデータで構成されるオブジェクトであり、通常のビューステート情報とは別のオブジェクトに含まれています。Control state is an object comprised of critical view state data that Web server controls need to function, and is contained in a separate object from normal view state information. コントロールの状態データは、ビューステートが Page レベルで無効になっている場合は影響を受けませんが、を使用するための追加の実装手順が必要です。Control state data is not affected when view state is disabled at the Page level, but requires extra implementation steps to use. コントロールの開発時に ViewState のプロパティとコントロールの状態を使用する方法の詳細については、「カスタム ASP.NET サーバーコントロールの開発」を参照してください。For more information on using the ViewState property and control state when developing controls, see Developing Custom ASP.NET Server Controls.