Control.SaveControlState Metodo

Definizione

Salva tutte le modifiche dello stato di un controllo server apportate dopo il postback della pagina nel server.Saves any server control state changes that have occurred since the time the page was posted back to the 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.Returns the server control's current state. Se al controllo non è associato alcuno stato, questo metodo restituisce null.If there is no state associated with the control, this method returns null.

Esempi

Nell'esempio di codice seguente viene eseguito l'override del metodo SaveControlState in un controllo ASP.NET personalizzato.The following code example overrides the SaveControlState method in a custom ASP.NET control. Quando viene richiamato, questo metodo determina se la proprietà interna currentIndex è impostata su un valore non predefinito e, in caso affermativo, Salva il valore per controllare lo stato.When this method is invoked, it determines whether the internal property currentIndex is set to a non-default value and, if so, saves the value to control state.

Viene eseguito l'override del metodo OnInit per chiamare il metodo RegisterRequiresControlState sul Page per indicare che il controllo personalizzato usa lo stato del controllo.The OnInit method is overridden to call the RegisterRequiresControlState method on the Page to indicate that the custom control uses control state.

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

Usare il metodo SaveControlState per salvare le informazioni sullo stato necessarie per l'operazione di un controllo specifico.Use the SaveControlState method to save state information required for the operation of a specific control. I dati relativi allo stato del controllo vengono archiviati separatamente rispetto ai dati dello stato di visualizzazione del controllo.This control-state data is stored separately from the control's view-state data.

I controlli personalizzati che usano lo stato del controllo devono chiamare il metodo RegisterRequiresControlState sul Page prima di salvare lo stato del controllo.Custom controls using control state must call the RegisterRequiresControlState method on the Page before saving control state.

Note per gli eredi

Quando lo stato del controllo viene salvato, al client viene restituito un oggetto stringa come variabile archiviata in un elemento HIDDEN HTML.When control state is saved, a string object is returned to the client as a variable that is stored in an HTML HIDDEN element. Eseguire l'override di questo metodo per estrarre le informazioni sullo stato da usare nel controllo.Override this method to extract the state information to use in your control.

Lo stato del controllo è destinato a piccole quantità di dati critici, ad esempio un indice di pagina o una parola chiave.Control state is intended for small amounts of critical data, such as a page index or a keyword. L'utilizzo dello stato del controllo per grandi quantità di dati può influire negativamente sulle prestazioni della pagina.Using control state for large amounts of data can adversely affect page performance. Per altre informazioni, vedere Panoramica della gestione dello stato di ASP.NET.For more information, see ASP.NET State Management Overview.

Si applica a

Vedi anche