Control.SaveControlState Control.SaveControlState Control.SaveControlState Control.SaveControlState Method

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.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

Devoluciones

Devuelve el estado actual del control de servidor.Returns the server control's current state. Si no hay ningún estado asociado al control, este método devuelve null.If there is no state associated with the control, this method returns null.

Ejemplos

En el ejemplo de código siguiente se invalida SaveControlState el método en un control ASP.net personalizado.The following code example overrides the SaveControlState method in a custom ASP.NET control. Cuando se invoca este método, determina si la propiedad currentIndex interna está establecida en un valor no predeterminado y, en ese caso, guarda el valor en el estado de control.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.

El OnInit método se invalida para RegisterRequiresControlState llamar al método en Page para indicar que el control personalizado utiliza el estado del control.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

Comentarios

Use el SaveControlState método para guardar la información de estado necesaria para el funcionamiento de un control concreto.Use the SaveControlState method to save state information required for the operation of a specific control. Estos datos de estado de control se almacenan independientemente de los datos de estado de vista del control.This control-state data is stored separately from the control's view-state data.

Los controles personalizados que utilizan el estado del RegisterRequiresControlState control deben llamar Page al método en antes de guardar el estado del control.Custom controls using control state must call the RegisterRequiresControlState method on the Page before saving control state.

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 HIDDEN un elemento 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. Invalide este método para extraer la información de estado que se va a usar en el control.Override this method to extract the state information to use in your control.

El estado del control está pensado para pequeñas cantidades de datos críticos, como un índice de página o una palabra clave.Control state is intended for small amounts of critical data, such as a page index or a keyword. El uso del estado de control para grandes cantidades de datos puede afectar negativamente al rendimiento de la página.Using control state for large amounts of data can adversely affect page performance. Para obtener más información, vea información general sobre la administración de estado de ASP.net.For more information, see ASP.NET State Management Overview.

Se aplica a

Consulte también: