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.

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

Object

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 standardmäßigen Wert festgelegt ist und wenn ja, den Wert zum Steuern des Zustands speichert.

Die OnInit Methode wird außer Kraft gesetzt, um die Methode Page aufzurufenRegisterRequiresControlState, 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 Ansichtsstatusdaten des Steuerelements gespeichert.

Benutzerdefinierte Steuerelemente, die den Steuerelementstatus verwenden, müssen die RegisterRequiresControlState Methode vor dem Speichern des Page Steuerelementzustands aufrufen.

Hinweise für Vererber

Wenn der Steuerelementstatus gespeichert wird, wird ein Zeichenfolgenobjekt als Variable 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 Steuerelementstatus ist für kleine Mengen kritischer Daten vorgesehen, z. B. ein Seitenindex oder ein Schlüsselwort. Die Verwendung des Steuerelementzustands für große Datenmengen kann sich negativ auf die Seitenleistung auswirken. Weitere Informationen finden Sie unter ASP.NET Übersicht über die Zustandsverwaltung.

Gilt für

Siehe auch