Control.SaveControlState Metoda

Definice

Uloží všechny změny stavu ovládacího prvku serveru, ke kterým došlo od okamžiku, kdy byla stránka odeslána zpět na server.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

Návraty

Object

Vrátí aktuální stav ovládacího prvku serveru.Returns the server control's current state. Pokud k ovládacímu prvku není přidružen žádný stav, vrátí tato metoda null .If there is no state associated with the control, this method returns null.

Příklady

Následující příklad kódu Přepisuje SaveControlState metodu ve vlastním ovládacím prvku ASP.NET.The following code example overrides the SaveControlState method in a custom ASP.NET control. Při vyvolání této metody určuje, zda je vnitřní vlastnost currentIndex nastavena na jinou než výchozí hodnotu, a pokud ano, uloží hodnotu do stavu ovládacího prvku.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.

OnInitMetoda je přepsána tak, aby volala RegisterRequiresControlState metodu na, Page aby označovala, že vlastní ovládací prvek používá stav ovládacího prvku.The 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

Poznámky

Použijte SaveControlState metodu k uložení informací o stavu vyžadovaných pro operaci konkrétního ovládacího prvku.Use the SaveControlState method to save state information required for the operation of a specific control. Tato data stavu ovládacího prvku jsou uložena odděleně od dat stavu zobrazení ovládacího prvku.This control-state data is stored separately from the control's view-state data.

Vlastní ovládací prvky používající stav ovládacího prvku musí volat RegisterRequiresControlState metodu v Page před uložením stavu ovládacího prvku.Custom controls using control state must call the RegisterRequiresControlState method on the Page before saving control state.

Poznámky pro dědice

Když je uložen stav ovládacího prvku, objekt řetězce je vrácen klientovi jako proměnná, která je uložena v elementu jazyka HTML 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. Přepište tuto metodu pro extrakci informací o stavu, které se mají použít ve vašem ovládacím prvku.Override this method to extract the state information to use in your control.

Stav ovládacího prvku je určený pro malé objemy kritických dat, jako je například index stránky nebo klíčové slovo.Control state is intended for small amounts of critical data, such as a page index or a keyword. Použití stavu ovládacího prvku pro velké objemy dat může negativně ovlivnit výkon stránky.Using control state for large amounts of data can adversely affect page performance. Další informace najdete v tématu Přehled správy stavů ASP.NET.For more information, see ASP.NET State Management Overview.

Platí pro

Viz také