Control.SaveViewState Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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
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 del SaveViewState metodo in un controllo server di ASP.NET 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 Label controllo server Web viene modificata Text in modo da leggere Custom Control Has Saved State
. Salva quindi lo stato di visualizzazione del controllo come matrice di oggetti, denominato 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 ViewState controllo server, ovvero 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 del ciclo di vita della pagina ASP.NET.
Quando viene salvato lo stato di visualizzazione, questo oggetto stringa viene restituito al client come variabile archiviata in un elemento HTML HIDDEN
. 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 di gestione dello stato di ASP.NET. Per informazioni sull'implementazione di un provider di stato sessione personalizzato, vedere Implementazione di un provider di archiviazione Session-State.