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 属性已分配给 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 服务器控件

适用于