Control.SaveControlState Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Speichert alle Zustandsänderungen des Serversteuerelements, die seit dem Zeitpunkt aufgetreten sind, zu dem die Seite an den Server zurückgesendet wurde.
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. Wenn dem Steuerelement kein Zustand zugeordnet ist, gibt diese Methode null
zurück.
Beispiele
Im folgenden Codebeispiel wird die SaveControlState -Methode in einem benutzerdefinierten ASP.NET-Steuerelement außer Kraft gesetzt. Wenn diese Methode aufgerufen wird, bestimmt sie, ob die interne Eigenschaft currentIndex
auf einen Nicht-Standardwert festgelegt ist, und speichert den Wert, wenn dies der Fall ist, im Steuerzustand.
Die OnInit -Methode wird überschrieben, um die RegisterRequiresControlState -Methode aufzurufen Page , um anzugeben, dass das benutzerdefinierte Steuerelement den Steuerelementzustand verwendet.
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 Betrieb eines bestimmten Steuerelements erforderlich sind. Diese Steuerelementstatusdaten werden getrennt von den Ansichtszustandsdaten des Steuerelements gespeichert.
Benutzerdefinierte Steuerelemente, die den Steuerelementstatus verwenden, müssen die RegisterRequiresControlState -Methode auf dem aufrufen, Page bevor der Steuerelementzustand gespeichert wird.
Hinweise für Vererber
Wenn der Steuerelementstatus gespeichert wird, wird ein Zeichenfolgenobjekt als Variable an den Client zurückgegeben, die in einem HTML-Element HIDDEN
gespeichert ist. Überschreiben Sie diese Methode, um die Zustandsinformationen zu extrahieren, die in Ihrem Steuerelement verwendet werden sollen.
Der Steuerungsstatus ist für kleine Mengen kritischer Daten vorgesehen, z. B. für einen Seitenindex oder ein Schlüsselwort. Die Verwendung des Kontrollzustands für große Datenmengen kann sich negativ auf die Seitenleistung auswirken. Weitere Informationen finden Sie unter übersicht über ASP.NET Zustandsverwaltung.