Comment : consommer des événements dans une application Web Forms

Mise à jour : novembre 2007

Un scénario courant dans les applications Web Forms est de remplir une page Web de contrôles, puis d'exécuter une action spécifique selon le contrôle sur lequel l'utilisateur clique. Par exemple, un contrôle System.Web.UI.WebControls.Button déclenche un événement lorsque l'utilisateur clique dessus dans la page Web. En gérant l'événement, votre application peut exécuter la logique d'application appropriée à un clic sur ce bouton.

Pour plus d'informations sur le modèle de programmation Web Forms, consultez Programmation de Web Forms.

Pour gérer un événement lié à un clic sur un bouton dans une page Web

  1. Créez une page Web Forms (page ASP.NET) contenant un contrôle Button.

    <asp:Button id = "Button" Text = "Click Me" runat = server/>
    
  2. Définissez un gestionnaire d'événements qui correspond à la signature du délégué d'événement Click. L'événement Click utilise la classe EventHandler pour le type délégué et la classe EventArgs pour les données d'événement.

    void Button_Click(object sender, EventArgs e)
    {...}
    
    Sub Button_Click(sender As Object, e As EventArgs)
    ...
    End Sub
    
  3. Indiquez la méthode de gestionnaire d'événements comme valeur de l'attribut OnClick de l'élément Button.

    <asp:Button
            id = "Button" OnClick = "Button_Click" Text = "Click Me" 
            runat = server/>
    
    Remarque :

    Un développeur d'applications Web Forms peut installer l'événement de façon déclarative comme indiqué, sans directement utiliser le délégué. L'infrastructure de page ASP.NET génère du code qui crée une instance d'EventHandler référençant Button_Click et ajoute cette instance de délégué à l'événement Click de l'instance Button.

Exemple

La page Web Forms suivante gère l'événement Click de Button pour changer la couleur d'arrière-plan de TextBox. Les éléments en gras dans cet exemple indiquent le code du gestionnaire d'événements et le mode de connexion du gestionnaire d'événements à l'événement Click de Button.

Note de sécurité :

Cet exemple a une zone de texte qui accepte l'entrée d'utilisateur, qui constitue une menace éventuelle pour la sécurité. Par défaut, les pages Web ASP.NET vérifient que les entrées d'utilisateur n'incluent pas de script ou d'éléments HTML. Pour plus d'informations, consultez Vue d'ensemble des attaques de script.

 [C#]
<html>
   <script language="C#" runat=server> 
      private void Button_Click(object sender, EventArgs e){         Box.BackColor = System.Drawing.Color.LightGreen;      }
   </script>
   <body> 
      <form method="POST" action="Events.aspx" runat=server>   
          Click the button, and notice the color of the text box.<br><br>
         <asp:TextBox 
         id = "Box" Text = "Hello" BackColor = "Cyan" runat=server/>             
         <br><br>       
        <asp:Button
        id = "Button" OnClick = "Button_Click" Text = "Click Me" 
        runat = server/>         
      </form>
   </body>
</html>
<html>
   <script language="VB" runat=server> 
      Private Sub Button_Click(sender As Object, e As EventArgs)         Box.BackColor = System.Drawing.Color.LightGreen
      End Sub
   </script>
   <body> 
      <form method="POST" action="Events.aspx" runat=server>   
          Click the button, and notice the color of the text box.<br><br>
         <asp:TextBox 
         id = "Box" Text = "Hello" BackColor = "Cyan" runat=server/>             
         <br><br>       
        <asp:Button
        id = "Button" OnClick = "Button_Click" Text = "Click Me" 
        runat = server/>         
      </form>
   </body>
</html>

Compilation du code

Pour voir la façon dont la gestion des événements fonctionne dans Web Forms, enregistrez l'exemple de page dans un fichier portant une extension .aspx (qui indique que le fichier est une page ASP.NET) et déployez-le dans un endroit quelconque de votre répertoire racine virtuel IIS.

Voir aussi

Concepts

Événements et délégués

Consommation d'événements

Déclenchement d'un événement

Autres ressources

Gestion et déclenchement d'événements