Vue d'ensemble des contrôles serveur Web Button

Mise à jour : novembre 2007

Utilisez les contrôles serveur Web de bouton ASP.NET pour permettre aux utilisateurs de publier une page sur le serveur et déclencher un événement sur une page.

Cette rubrique contient les sections suivantes :

  • Contexte

  • Exemples de code

  • Référence de classe

Contexte

Vous pouvez utiliser le contrôle serveur Web Button pour fournir aux utilisateurs la capacité de publier une page sur le serveur. Le contrôle déclenche un événement dans le code serveur que vous pouvez gérer pour répondre à la publication (postback). Par exemple, un utilisateur peut indiquer qu'il a complété un formulaire ou qu'il souhaite exécuter une commande spécifique.

ASP.NET inclut trois types de contrôles bouton, chacun apparaissant différemment sur les pages Web, comme indiqué dans le tableau suivant :

Contrôle

Description

Button

Bouton de commande standard se présentant comme un élément input HTML.

LinkButton

Se présente dans la page comme un lien hypertexte. Ce bouton contient cependant un script client qui publie en retour le formulaire au serveur. Vous pouvez créer un vrai lien hypertexte à l'aide du contrôle serveur Web HyperLink.

ImageButton

Restitue un graphique comme un bouton. Vous pouvez ainsi améliorer l'apparence du bouton. Le contrôle ImageButton fournit également des informations à propos des coordonnées dans le graphique quand il a été cliqué.

Vous pouvez également utiliser les contrôles HtmlButton et HtmlInputButton pour créer dans la page des boutons programmables dans le code serveur. Pour plus d'informations sur les différences entre les contrôles serveur Web et HTML, consultez Vue d'ensemble des contrôles serveur Web ASP.NET.

Le contrôle ImageMap vous permet de créer un graphique avec des zones réactives sur lesquelles les utilisateurs peuvent cliquer pour exécuter une publication ou autre action.

Événements de bouton

Lorsqu'un utilisateur clique sur un bouton de contrôle serveur Web, la page est envoyée au serveur. Cela déclenche le traitement de la page Web et celui des événements en attente dans le code serveur. Ces boutons peuvent également déclencher leurs propres événements Click pour lesquels vous avez la possibilité d'écrire des gestionnaires d'événements.

Contrôles et validation de bouton

Si une page contient des contrôles validateurs ASP.NET, par défaut, en cliquant sur un contrôle bouton, le contrôle validateur effectue sa vérification. Si la validation côté client est activée pour un contrôle validateur, la page n'est pas envoyée si une vérification de la validation a échoué.

Le tableau suivant décrit les propriétés prises en charge par les contrôles bouton qui vous permettent de contrôler le processus de validation de manière plus précise.

Propriété

Description

CausesValidation

Spécifie si le fait de cliquer sur le bouton permet également d'effectuer une vérification de la validation. L'affectation de la valeur false à la propriété permet d'empêcher une vérification de la validation.

ValidationGroup

Vous permet de spécifier les validateurs appelés de la page lorsque vous cliquez sur le bouton. Si aucun groupe de validation n'est établi et que vous cliquez sur un bouton, tous les validateurs qui figurent sur la page sont appelés.

Pour plus d'informations, consultez Validation des entrées d'utilisateur dans des pages Web ASP.NET.

Comportement de la publication du bouton

Lorsque l'utilisateur clique sur un contrôle bouton, la page est publiée en retour sur le serveur. Par défaut, la page est publiée en retour sur elle-même, à l'endroit où elle est régénérée et les gestionnaires d'événements des contrôles de la page traités.

Vous pouvez configurer des boutons pour publier la page actuelle sur une autre page. Cela peut être utile pour la création de formulaires composés de plusieurs pages. Pour plus d'informations, consultez Publication entre pages dans des pages Web ASP.NET.

Par défaut, le contrôle Button envoie la page via une opération HTML POST. Les contrôles LinkButton et ImageButton ne peuvent pas directement prendre en charge une opération HTML POST. Par conséquent, lorsque vous utilisez ces boutons, un script client est ajouté à la page, ce qui permet aux contrôles d'envoyer la page par programme. Les contrôles LinkButton et ImageButton requièrent par conséquent que le script client soit activé sur le navigateur.

Dans certaines circonstances, il peut s'avérer utile que le contrôle Button utilise également le script client pour effectuer la publication. Ainsi, vous pouvez manipuler la publication par programme, par exemple en la joignant aux autres éléments de la page. Vous pouvez affecter la valeur true à la propriété UseSubmitBehavior du contrôle Button pour que le contrôle Button utilise la publication basée sur le script client.

Utilisation de boutons avec les contrôles UpdatePanel

Le rendu de page partielle rend possible l'actualisation des parties d'une page sans une publication. Les contrôles UpdatePanel vous permettent de marquer les parties de la page qui participent au rendu de la page partielle. Par défaut, le comportement de contrôles à l'intérieur d'un contrôle UpdatePanel, y compris les contrôles Button, est d'exécuter une publication asynchrone au lieu d'une publication. Cela actualise uniquement le contenu du contrôle UpdatePanel d'où la publication provient.

En plus du scénario d'un contrôle Button qui est à l'intérieur d'un contrôle UpdatePanel, vous pouvez utiliser des contrôles Button avec les contrôles UpdatePanel dans les scénarios suivants :

  • Définition d'un contrôle Buttonqui est à l'extérieur d'un contrôle UpdatePanel comme un contrôle AsyncPostBackTrigger pour ce panneau. Lorsque le bouton est cliqué, il exécute une publication asynchrone et actualise le contenu du panneau.

  • Définition d'un contrôle Buttonqui est à l'intérieur d'un contrôle UpdatePanel comme un contrôle PostBackTrigger pour le panneau. Lorsque le bouton est cliqué, il exécute une publication bien que ce soit à l'intérieur d'un contrôle UpdatePanel.

Pour plus d'informations sur le rendu de page partielle et l'utilisation du contrôle UpdatePanel, consultez Vue d'ensemble du contrôle UpdatePanel et Vue d'ensemble du rendu de page partielle.

Gestion d'événements côté client pour les contrôles bouton

Les contrôles bouton peuvent déclencher à la fois des événements serveur et des événements client. Les événements serveur se produisent après la publication et sont gérés dans le code côté serveur que vous écrivez pour la page. Les événements client sont gérés dans le script client, généralement ECMAScript (JavaScript) et sont déclenchés avant que la page ne soit envoyée. En ajoutant des événements côté client aux contrôles bouton ASP.NET, vous pouvez exécuter des tâches telles que l'affichage de boîtes de dialogue de confirmation avant l'envoi de la page et éventuellement l'annuler. Pour plus d'informations, consultez Script client dans les pages Web ASP.NET et Comment : répondre à des événements du contrôle serveur Web bouton dans un script client.

Boutons des contrôles de données

Les contrôles serveur Web de bouton sont souvent utilisés dans les contrôles de données tels que les contrôles de liste DataListGridViewet Repeater. Dans ces cas, vous ne répondez pas directement à l'événement clic de bouton. À la place, un bouton dans un contrôle de données déclenche un événement qui est spécifique au contrôle de données. Par exemple, dans le contrôle DataList, un bouton peut déclencher l'événement ItemCommand du contrôle DataList plutôt que l'événement Click du contrôle Button.

Étant donné que les contrôles liste liés aux données peuvent contenir de nombreux boutons, vous pouvez définir la propriété CommandArgument du bouton pour spécifier une valeur à transmettre dans l'événement. Vous pouvez alors tester cet argument pour savoir sur quel bouton l'utilisateur a cliqué.

Liaison de données aux contrôles

Vous pouvez lier les contrôles serveur Web de bouton à une source de données afin de contrôler dynamiquement leurs paramètres de propriété. Par exemple, vous pouvez définir la propriété Text des boutons par la liaison de données.

Exemples de code

Comment : ajouter des contrôles serveur Web Button à une page Web Forms (Visual Studio)

Comment : ajouter des contrôles serveur Web ImageButton à une page Web Forms (Visual Studio)

Comment : déterminer des coordonnées dans un contrôle serveur Web ImageButton

Comment : répondre à des événements du contrôle serveur Web Button

Comment : répondre à des événements du contrôle serveur Web bouton dans un script client

Retour au début

Référence de classe

Le tableau suivant répertorie les classes clés relatives aux contrôles bouton.

Membre

Description

Button, LinkButton, ImageButton

Classes principales pour les contrôles bouton.

Retour au début

Voir aussi

Tâches

Comment : ajouter des événements de script client à des contrôles serveur Web ASP.NET

Concepts

Script client dans les pages Web ASP.NET

Publication entre pages dans des pages Web ASP.NET