Control.SaveControlState Methode
Definition
Speichert alle Zustandsänderungen des Serversteuerelements, die seit dem Zeitpunkt aufgetreten sind, zu dem die Seite an den Server zurückgesendet wurde.Saves any server control state changes that have occurred since the time the page was posted back to the server.
protected public:
virtual System::Object ^ SaveControlState();
protected internal virtual object SaveControlState ();
abstract member SaveControlState : unit -> obj
override this.SaveControlState : unit -> obj
Protected Friend Overridable Function SaveControlState () As Object
Gibt zurück
Gibt den aktuellen Zustand des Serversteuerelements zurück.Returns the server control's current state. Wenn dem Steuerelement kein Zustand zugeordnet ist, gibt diese Methode null
zurück.If there is no state associated with the control, this method returns null
.
Beispiele
Im folgenden Codebeispiel wird die- SaveControlState Methode in einem benutzerdefinierten ASP.NET-Steuerelement überschrieben.The following code example overrides the SaveControlState method in a custom ASP.NET control. Wenn diese Methode aufgerufen wird, bestimmt Sie, ob die interne Eigenschaft currentIndex
auf einen nicht standardmäßigen Wert festgelegt ist. wenn dies der Fall ist, speichert Sie den Wert, um den Zustand zu steuern.When this method is invoked, it determines whether the internal property currentIndex
is set to a non-default value and, if so, saves the value to control state.
Die- OnInit Methode wird überschrieben, um die-Methode für aufzurufen RegisterRequiresControlState Page , um anzugeben, dass das benutzerdefinierte Steuerelement den Steuerelement Zustand verwendetThe OnInit method is overridden to call the RegisterRequiresControlState method on the Page to indicate that the custom control uses control state.
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
Hinweise
Verwenden Sie die- SaveControlState Methode, um Zustandsinformationen zu speichern, die für den Vorgang eines bestimmten Steuer Elements erforderlich sind.Use the SaveControlState method to save state information required for the operation of a specific control. Diese Steuerungs Zustandsdaten werden getrennt von den Ansichts Zustandsdaten des Steuer Elements gespeichert.This control-state data is stored separately from the control's view-state data.
Benutzerdefinierte Steuerelemente, die den Steuerelement Zustand verwenden, müssen die- RegisterRequiresControlState Methode auf dem-Element Page vor dem SpeichernCustom controls using control state must call the RegisterRequiresControlState method on the Page before saving control state.
Hinweise für Vererber
Wenn der Steuerelement Zustand gespeichert wird, wird ein String-Objekt als Variable an den Client zurückgegeben, die in einem HTML--Element gespeichert ist HIDDEN
.When control state is saved, a string object is returned to the client as a variable that is stored in an HTML HIDDEN
element. Überschreiben Sie diese Methode, um die in Ihrem Steuerelement zu verwendenden Zustandsinformationen zu extrahieren.Override this method to extract the state information to use in your control.
Der Steuerelement Zustand ist für kleine Mengen kritischer Daten bestimmt, z. b. für einen Seitenindex oder ein Schlüsselwort.Control state is intended for small amounts of critical data, such as a page index or a keyword. Die Verwendung des Steuerungs Zustands für große Datenmengen kann sich negativ auf die Seiten Leistung auswirken.Using control state for large amounts of data can adversely affect page performance. Weitere Informationen finden Sie unter ASP.net State Management Overview.For more information, see ASP.NET State Management Overview.