Metodo Control.SaveViewState (System.Web.UI)

Cambia visualizzazione:
ScriptFree
Riferimento a .NET Framework
Metodo Control.SaveViewState
Il presente articolo è stato tradotto manualmente. Per visualizzare questa pagina e contemporaneamente visualizzarne il contenuto in lingua inglese, passare alla visualizzazione semplificata.

Salva le modifiche allo stato di visualizzazione di un controllo server apportate dal momento in cui è stato eseguito il postback della pagina sul server.

Spazio dei nomi:  System.Web.UI
Assembly:  System.Web (in System.Web.dll)
Sintassi

Visual Basic
Protected Overridable Function SaveViewState As Object
C#
protected virtual Object SaveViewState()
Visual C++
protected:
virtual Object^ SaveViewState()
F#
abstract SaveViewState : unit -> Object 
override SaveViewState : unit -> Object 

Valore restituito

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

Lo stato di visualizzazione è costituito dai valori delle proprietà di un controllo server. Questi valori sono posizionati automaticamente nella proprietà ViewState del controllo server, che rappresenta un'istanza della classe StateBag. Il valore di questa proprietà viene inserito in un oggetto stringa dopo la fase di salvataggio dello stato della durata del controllo server. Per ulteriori informazioni, vedere Cenni preliminari sul ciclo di vita di una pagina ASP.NET.

Una volta salvato lo stato di visualizzazione, l'oggetto stringa viene restituito al client come variabile memorizzata in un elemento HTML HIDDEN. Quando si modifica un controllo server personalizzato con uno stato di visualizzazione personalizzato, è possibile gestire lo stato di visualizzazione in modo esplicito con i metodi SaveViewState e LoadViewState. Per ulteriori informazioni, vedere Cenni preliminari sulla gestione dello stato ASP.NET. Per informazioni sull'implementazione di un provider dello stato sessione personalizzato, vedere Implementazione di un provider dell'archivio dello stato sessione.

Esempi

Nell'esempio riportato di seguito il metodo SaveViewState in un controllo server personalizzato ASP.NET viene sottoposto a override. 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 entrambe le condizioni sono vere, il controllo modifica la proprietà Text di un controllo server Web Label per leggere Custom Control Has Saved State. Quindi salva lo stato di visualizzazione del controllo come una matrice di oggetti denominata allStates.

Visual Basic

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


C#

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;
}


Informazioni sulla versione

.NET Framework

Supportato in: 4, 3.5, 3.0, 2.0, 1.1, 1.0
Piattaforme

Windows 7, Windows Vista SP1 o versione successiva, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (componenti di base del server non supportati), Windows Server 2008 R2 (componenti di base del server supportati con SP1 o versione successiva), Windows Server 2003 SP2

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.
Vedere anche

Riferimenti

Altre risorse