Control.SaveControlState Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Uloží všechny změny stavu ovládacích prvků serveru, ke kterým došlo od okamžiku, 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
Vrátí aktuální stav serverového ovládacího prvku. Pokud k ovládacímu prvku není přidružený žádný stav, vrátí null
tato 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 jinou než výchozí hodnotu, a pokud ano, uloží hodnotu pro řízení stavu.
Metoda OnInit je přepsána tak, aby volala metodu RegisterRequiresControlState na Page , která označuje, ž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 pož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í před uložením RegisterRequiresControlState stavu ovládacího prvku volat metodu Page .
Poznámky pro dědice
Při uložení stavu řízení je řetězcový objekt vrácen klientovi jako proměnná, která je uložena v elementu HTML HIDDEN
. Přepsat tuto metodu extrahujte informace o stavu, které se mají použít ve vašem ovládacím prvku.
Stav řízení 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 přehled správy stavu ASP.NET.