Partager via


Capture d'événements de publication

Pour qu'un contrôle capture un événement de publication, il doit implémenter l'interface System.Web.UI.IPostBackEventHandler. Le contrat de cette interface permet à un contrôle de déclencher des événements sur le serveur en réponse à la publication à partir du client. L'interface IPostBackEventHandler contient une méthode.

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

Lors de la publication, l'infrastructure de la page parcourt le contenu publié et détermine si un nom publié correspond à l'UniqueID d'un contrôle serveur implémentant IPostBackEventHandler. Dans ce cas, il appelle la méthode RaisePostBackEvent sur ce contrôle (après avoir déclenché des événements de modification).

Le fragment de code suivant illustre une implémentation de RaisePostBackEvent qui déclenche un événement Click sur le serveur.

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

Remarque   Il est essentiel que la logique de rendu assigne UniqueID à l'attribut de nom du contrôle, comme dans l'exemple suivant. L'infrastructure de page est incapable d'acheminer une publication vers votre contrôle si son attribut de nom sur le client ne correspond pas à son 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

Pour obtenir un exemple de contrôle qui reçoit des notifications de publication et déclenche des événements sur le serveur, consultez Exemple d'événement de publication.

Voir aussi

Exemple d'événement de publication