Control.SaveControlState Metoda

Definice

Uloží všechny změny stavu řízení serveru, ke kterým došlo od doby, kdy byla stránka odeslána zpět na 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

Návraty

Object

Vrátí aktuální stav ovládacího prvku serveru. Pokud k ovládacímu prvku není přidružený žádný stav, vrátí nulltato metoda .

Příklady

Následující příklad kódu přepíše metodu SaveControlState ve vlastním ovládacím prvku ASP.NET. Při vyvolání této metody určuje, zda je interní vlastnost currentIndex nastavena na ne výchozí hodnotu, a pokud ano, uloží hodnotu do stavu řízení.

Metoda OnInit se přepíše tak, aby volala metodu na RegisterRequiresControlState značce Page , že vlastní ovládací prvek používá stav ovládacího prvku.

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

Poznámky

Použijte metodu SaveControlState k uložení informací o stavu vyžadovaných pro provoz určitého ovládacího prvku. Tato data o stavu řízení se ukládají odděleně od dat o stavu zobrazení ovládacího prvku.

Vlastní ovládací prvky používající stav ovládacího prvku musí volat metodu RegisterRequiresControlState na před Page uložením stavu ovládacího prvku.

Poznámky pro dědice

Při uložení stavu ovládacího prvku se objekt řetězce vrátí klientovi jako proměnná uložená v elementu HTML HIDDEN . Tuto metodu přepište tak, aby extrahovali informace o stavu, které se mají použít ve vašem ovládacím prvku.

Stav ovládacího prvku je určený pro malé objemy důležitých dat, jako je index stránky nebo klíčové slovo. Použití stavu řízení pro velké objemy dat může nepříznivě ovlivnit výkon stránky. Další informace najdete v tématu ASP.NET Přehled správy stavu.

Platí pro

Viz také