Control.LoadControlState(Object) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
從 SaveControlState() 方法所儲存的上一頁要求中,還原控制項狀態資訊。
protected public:
virtual void LoadControlState(System::Object ^ savedState);
protected internal virtual void LoadControlState (object savedState);
abstract member LoadControlState : obj -> unit
override this.LoadControlState : obj -> unit
Protected Friend Overridable Sub LoadControlState (savedState As Object)
參數
範例
下列程式碼範例會 LoadControlState 覆寫自訂 ASP.NET 控制項中的 方法。 叫用這個方法時,它會判斷控制項之前是否儲存控制項狀態,如果是的話,請將內部屬性 currentIndex
設定為儲存的值。
系統會 OnInit 覆寫 方法,以呼叫 RegisterRequiresControlState 上的 Page 方法,以指出自訂控制項使用控制項狀態。
public class Sample : Control {
private int currentIndex = 0;
protected override void OnInit(EventArgs e) {
Page.RegisterRequiresControlState(this);
base.OnInit(e);
}
protected override object SaveControlState() {
return currentIndex != 0 ? (object)currentIndex : null;
}
protected override void LoadControlState(object state) {
if (state != null) {
currentIndex = (int)state;
}
}
}
Class Sample
Inherits Control
Dim currentIndex As Integer
Protected Overrides Sub OnInit(ByVal e As EventArgs)
Page.RegisterRequiresControlState(Me)
currentIndex = 0
MyBase.OnInit(e)
End Sub
Protected Overrides Function SaveControlState() As Object
If currentIndex <> 0 Then
Return CType(currentIndex, Object)
Else
Return Nothing
End If
End Function
Protected Overrides Sub LoadControlState(ByVal state As Object)
If (state <> Nothing) Then
currentIndex = CType(state, Integer)
End If
End Sub
End Class
備註
當您需要指定自訂伺服器控制項如何還原其控制項狀態時,請覆寫這個方法。 如需詳細資訊,請參閱ASP.NET 狀態管理概觀。