Control.SaveViewState 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 zobrazení ovládacích prvků serveru, ke kterým došlo od okamžiku, kdy byla stránka odeslána zpět na server.
protected:
virtual System::Object ^ SaveViewState();
protected virtual object SaveViewState ();
abstract member SaveViewState : unit -> obj
override this.SaveViewState : unit -> obj
Protected Overridable Function SaveViewState () As Object
Návraty
Vrátí aktuální stav zobrazení serverového ovládacího prvku. Pokud k ovládacímu prvku není přidružený žádný stav zobrazení, vrátí null
tato metoda .
Příklady
Následující příklad přepíše metodu SaveViewState ve vlastním ASP.NET serverovém ovládacím prvku. Při vyvolání této metody určuje, zda ovládací prvek má nějaké podřízené ovládací prvky a zda je objekt obsahující Page výsledek postback. Pokud jsou obě hodnoty true, změní Text vlastnost ovládacího prvku webového Label serveru na čtení Custom Control Has Saved State
. Pak uloží stav zobrazení ovládacího prvku jako pole objektů s názvem allStates
.
protected override object SaveViewState()
{ // Change Text Property of Label when this function is invoked.
if(HasControls() && (Page.IsPostBack))
{
((Label)(Controls[0])).Text = "Custom Control Has Saved State";
}
// Save State as a cumulative array of objects.
object baseState = base.SaveViewState();
string userText = UserText;
string passwordText = PasswordText;
object[] allStates = new object[3];
allStates[0] = baseState;
allStates[1] = userText;
allStates[2] = PasswordText;
return allStates;
}
Protected Overrides Function SaveViewState() As Object
' Change Text Property of Label when this function is invoked.
If HasControls() And Page.IsPostBack Then
CType(Controls(0), Label).Text = "Custom Control Has Saved State"
End If
' Save State as a cumulative array of objects.
Dim baseState As Object = MyBase.SaveViewState()
Dim _userText As String = UserText
Dim _passwordText As String = PasswordText
Dim allStates(3) As Object
allStates(0) = baseState
allStates(1) = _userText
allStates(2) = PasswordText
Return allStates
End Function
Poznámky
Stav zobrazení je souhrn hodnot vlastností serverového ovládacího prvku. Tyto hodnoty jsou automaticky umístěny do vlastnosti serverového ViewState ovládacího prvku, což je instance StateBag třídy. Hodnota této vlastnosti se pak uloží do objektu řetězce po fázi uložení stavu životního cyklu ovládacího prvku serveru. Další informace najdete v tématu přehled životního cyklu ASP.NET stránky.
Při uložení stavu zobrazení je tento objekt řetězce vrácen klientovi jako proměnná, která je uložena v elementu HTML HIDDEN
. Při vytváření vlastního serverového ovládacího prvku s vlastním stavem zobrazení je možné stav zobrazení spravovat explicitně pomocí SaveViewState metod a LoadViewState . Další informace najdete v tématu přehled správy stavu ASP.NET. Informace o implementaci vlastního zprostředkovatele stavu relací najdete v tématu Implementace poskytovatele Session-State Store.