Control.SaveViewState Metodo

Definizione

Salva eventuali modifiche dello stato di visualizzazione di un controllo server apportate dopo il postback della pagina nel 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

Restituisce

Object

Restituisce lo stato di visualizzazione corrente del controllo server. Se al controllo non è associato alcuno stato di visualizzazione, questo metodo restituisce null.

Esempio

Nell'esempio seguente viene eseguito l'override SaveViewState del metodo in un controllo ASP.NET server personalizzato. Quando questo metodo viene richiamato, determina se il controllo dispone di controlli figlio e se l'oggetto contenitore Page è il risultato di un postback. Se entrambi sono true, la proprietà di un controllo server Web viene modificata Text in modo da leggere Label Custom Control Has Saved State . Salva quindi lo stato di visualizzazione del controllo come matrice di oggetti , denominata 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

Commenti

Lo stato di visualizzazione è l'accumulo dei valori delle proprietà di un controllo server. Questi valori vengono inseriti automaticamente nella proprietà del controllo server, che ViewState è un'istanza della StateBag classe . Il valore di questa proprietà viene quindi salvato in modo permanente in un oggetto stringa dopo la fase di salvataggio dello stato del ciclo di vita del controllo server. Per altre informazioni, vedere Panoramica ASP.NET ciclo di vita della pagina.

Quando lo stato di visualizzazione viene salvato, questo oggetto stringa viene restituito al client come variabile archiviata in un elemento HIDDEN HTML. Quando si crea un controllo server personalizzato con uno stato di visualizzazione personalizzato, lo stato di visualizzazione può essere gestito in modo esplicito con i SaveViewState metodi e LoadViewState . Per altre informazioni, vedere panoramica ASP.NET Gestione stato. Per informazioni sull'implementazione di un provider di stato sessione personalizzato, vedere Implementazione di un provider Session-State Store.

Si applica a

Vedi anche