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í serveru, ke kterým došlo od doby, 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í ovládacího prvku serveru. Pokud není k ovládacímu prvku přidružen žádný stav zobrazení, tato metoda vrátí null.
Příklady
Následující příklad přepíše metodu SaveViewState ve vlastním ovládacím prvku serveru ASP.NET. Při vyvolání této metody určuje, zda ovládací prvek má nějaké podřízené ovládací prvky a zda obsahující Page objekt je výsledkem postback. Pokud jsou oba pravdivé, 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 akumulace hodnot vlastností ovládacího prvku serveru. Tyto hodnoty se automaticky umístí do vlastnosti ovládacího prvku ViewState serveru, 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 řízení serveru. Další informace najdete v tématu ASP.NET Přehled životního cyklu stránky.
Při uložení stavu zobrazení se tento objekt řetězce vrátí klientovi jako proměnná uložená v elementu HTML HIDDEN . Při vytváření vlastního ovládacího prvku serveru se stavem vlastního zobrazení lze stav zobrazení spravovat explicitně pomocí metod SaveViewState a LoadViewState metod. Další informace najdete v tématu ASP.NET Přehled správy stavu. Informace o implementaci vlastního zprostředkovatele stavu relace naleznete v tématu Implementace poskytovatele Session-State Store.