PageStatePersister.ControlState 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置一个对象,该对象表示当前 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 服务器控件。