PageStatePersister.ControlState 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得或設定物件,表示對 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
備註
控制項狀態是由網頁伺服器控制項需要運作的重要檢視狀態資料所組成,而且包含在與一般檢視狀態資訊不同的物件中。 在層級停用 Page 檢視狀態時,控制狀態資料不會受到影響,但需要額外的實作步驟才能使用。 如需在開發控制項時使用 ViewState 屬性和控制項狀態的詳細資訊,請參閱 開發自訂 ASP.NET 伺服器控制項。
適用於
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應