Sdílet prostřednictvím


Control.SaveViewState Metoda

Definice

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í nulltato 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.

Platí pro

Viz také