Compartir a través de


Capturar eventos Postback

Para que un control capture un evento de devolución, deberá implementarse la interfaz System.Web.UI.IPostBackEventHandler. El contrato de esta interfaz permite que un control pueda provocar eventos en el servidor en respuesta a una devolución del cliente. La interfaz IPostBackEventHandler contiene un método.

public interface IPostBackEventHandler{
    void RaisePostBackEvent(string eventArgument);
}
[Visual Basic]
Public Interface IPostBackEventHandler
   Sub RaisePostBackEvent(eventArgument As String)
End Interface

Tras la devolución, el marco de trabajo de la página busca el contenido devuelto y comprueba si los nombres devueltos coinciden con los UniqueID del control de servidor que implementa IPostBackEventHandler. Si coinciden, se invoca el método RaisePostBackEvent en dicho control (una vez provocados los eventos de cambios).

En el siguiente fragmento de código se muestra una implementación de RaisePostBackEvent que provoca un evento Click en el servidor.

public void RaisePostBackEvent(String eventArgument){
      OnClick(EventArgs.Empty);
}
[Visual Basic]
Public Overridable Sub RaisePostDataChangedEvent() Implements IPostBackDataHandler.RaisePostDataChangedEvent
   OnTextChanged(EventArgs.Empty)
End Sub

Nota   Es fundamental que la lógica de procesamiento asigne el UniqueID al atributo de nombre del control como se muestra en el ejemplo siguiente. El marco de trabajo de la página no puede enrutar un evento de devolución hacia el control si su nombre de atributo en el cliente no coincide con su UniqueID.

protected override void Render(HtmlTextWriter output) {
   output.Write("<INPUT TYPE=submit name=" + this.UniqueID + 
            " Value='Click Me' />");   
} 
[Visual Basic]
Protected Overrides Sub Render(output As HtmlTextWriter)
   output.Write("<INPUT type=submit name=" & Me.UniqueID & _
      " Value='Click Me' />")
End Sub

Para ver un ejemplo de un control que recibe notificaciones de devolución y provoca eventos en el servidor, vea Ejemplo de evento Postback.

Vea también

Ejemplo de evento de devolución