Control.SaveControlState 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 tutte le modifiche dello stato di un controllo server apportate dopo il postback della pagina nel server.
protected public:
virtual System::Object ^ SaveControlState();
protected internal virtual object SaveControlState ();
abstract member SaveControlState : unit -> obj
override this.SaveControlState : unit -> obj
Protected Friend Overridable Function SaveControlState () As Object
Restituisce
Restituisce lo stato corrente del controllo server. Se al controllo non è associato alcuno stato, questo metodo restituisce null
.
Esempio
Nell'esempio di codice seguente viene eseguito l'override del SaveControlState metodo in un controllo ASP.NET personalizzato. Quando questo metodo viene richiamato, determina se la proprietà currentIndex
interna è impostata su un valore non predefinito e, in tal caso, salva il valore in stato di controllo.
Il OnInit metodo viene sottoposto a override per chiamare il RegisterRequiresControlState metodo su Page per indicare che il controllo personalizzato utilizza lo stato del controllo.
public class Sample : Control {
private int currentIndex = 0;
protected override void OnInit(EventArgs e) {
Page.RegisterRequiresControlState(this);
base.OnInit(e);
}
protected override object SaveControlState() {
return currentIndex != 0 ? (object)currentIndex : null;
}
protected override void LoadControlState(object state) {
if (state != null) {
currentIndex = (int)state;
}
}
}
Class Sample
Inherits Control
Dim currentIndex As Integer
Protected Overrides Sub OnInit(ByVal e As EventArgs)
Page.RegisterRequiresControlState(Me)
currentIndex = 0
MyBase.OnInit(e)
End Sub
Protected Overrides Function SaveControlState() As Object
If currentIndex <> 0 Then
Return CType(currentIndex, Object)
Else
Return Nothing
End If
End Function
Protected Overrides Sub LoadControlState(ByVal state As Object)
If (state <> Nothing) Then
currentIndex = CType(state, Integer)
End If
End Sub
End Class
Commenti
Utilizzare il SaveControlState metodo per salvare le informazioni sullo stato necessarie per l'operazione di un controllo specifico. Questi dati sullo stato del controllo vengono archiviati separatamente dai dati dello stato di visualizzazione del controllo.
I controlli personalizzati che usano lo stato del controllo devono chiamare il RegisterRequiresControlState metodo su prima di salvare lo stato del Page controllo.
Note per gli eredi
Quando viene salvato lo stato del controllo, un oggetto stringa viene restituito al client come variabile archiviata in un elemento HTML HIDDEN
. Eseguire l'override di questo metodo per estrarre le informazioni sullo stato da usare nel controllo.
Lo stato del controllo è destinato a piccole quantità di dati critici, ad esempio un indice di pagina o una parola chiave. L'uso dello stato di controllo per grandi quantità di dati può influire negativamente sulle prestazioni della pagina. Per altre informazioni, vedere panoramica di gestione dello stato di ASP.NET.