Compartir vía


Control.SaveControlState Método

Definición

Guarda los cambios de estado del control de servidor que se produjeron desde la hora en que la página volvió a publicarse en el servidor.

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

Devoluciones

Devuelve el estado actual del control de servidor. Si no hay ningún estado asociado al control, este método devuelve null.

Ejemplos

En el ejemplo de código siguiente se invalida el SaveControlState método en un control de ASP.NET personalizado. Cuando se invoca este método, determina si la propiedad currentIndex interna se establece en un valor no predeterminado y, si es así, guarda el valor para controlar el estado.

El OnInit método se invalida para llamar al RegisterRequiresControlState método en Page para indicar que el control personalizado usa el estado de control.

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

Comentarios

Use el método para guardar la SaveControlState información de estado necesaria para el funcionamiento de un control específico. Estos datos de estado de control se almacenan de forma independiente de los datos de estado de vista del control.

Los controles personalizados que usan el estado de control deben llamar al RegisterRequiresControlState método en antes de guardar el estado del Page control.

Notas a los desarrolladores de herederos

Cuando se guarda el estado del control, se devuelve un objeto de cadena al cliente como una variable que se almacena en un elemento HTML HIDDEN . Invalide este método para extraer la información de estado que se va a usar en el control.

El estado de control está pensado para pequeñas cantidades de datos críticos, como un índice de página o una palabra clave. El uso del estado de control para grandes cantidades de datos puede afectar negativamente al rendimiento de la página. Para obtener más información, consulte ASP.NET State Management Overview.

Se aplica a

Consulte también