Sdílet prostřednictvím


Control.SaveViewState Metoda

Definice

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.

Platí pro

Viz také