Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Comment ajouter un message de confirmation lors d'une suppression dans un GridView ou un DetailsView ?

Souvent on souhaiterait pouvoir ajouter un message de confirmation lors de la suppression d'un élément dans un contrôle de type GridView ou DetailsView, de sortes que l'utilisateur puisse annuler la suppression s'il le souhaite.

Pour cela, suivez les étapes suivantes :

  1. Convertissez la colonne Supprimer du GridView ou du DetailsView en template.
  2. Ajoutez au contrôle LinkButton (généré dans le template) l'attribut OnClientClick comme suit :

<asp:TemplateField ShowHeader="False"> <ItemTemplate> <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandName="Delete" OnClientClick="return confirm('Etes-vous sûr de vouloir supprimer cet élément ?');" Text="Supprimer"> </asp:LinkButton> </ItemTemplate> </asp:TemplateField>
Lorsque l'utilisateur cliquera sur le bouton Supprimer, il verra le message suivant :

Message de confirmation

Quelques explications sur la méthode javascript confirm() : 

  • Si l'utilisateur clique OK, la méthode renvoie true et le formulaire est posté sur le serveur. L'ordre de suppression s'exécute alors.
  • S'il clique Annuler, la méthode renvoie false. Le formulaire n'est pas posté donc la suppression n'a pas lieu.
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Posted: jeudi 10 mai 2007 17:40 par bianca
Classé sous :

Commentaires

cyril a dit :

J'avais posté l'astuce pour un datagrid ici : http://www.aspfr.com/codes/CONFIRMER-SUPPRESSION-LORS-CLICK-SUR-BOUTON-COMMANDNAME-DELETE_29655.aspx

mais c'est vrai que l'introduction de la propriété OnClientClick par .net 2 simplifie grandement les choses.

En tout cas ce n'est pas inutile de le rappeller car on retrouve souvent des questions de ce genre :-)

# mai 10, 2007 18:56

Fox a dit :

On peut aussi passer en mode Design Template et ajouter le ControlToolKit 'ConfirmButton' http://ajax.asp.net/ajaxtoolkit/ConfirmButton/ConfirmButton.aspx

# mai 11, 2007 00:58

cyril a dit :

Et instancier un behavior par ligne du gridview =)

Déjà pour le developpeur c'est pénible car y'a plus de ligne à écrire :p et surtout pour l'utilisateur si le gridview possède 100 lignes il y aura 100 instances du Behavior à créer, niveau perf le OnClientClick est de loin la meilleure solution.

Il ne faut pas tomber dans le piège de mettre des toolkits dans tous les sens car mal utilisé on arrive rapidement à alourdir la page.

# mai 11, 2007 01:13
Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- TechDays Paris 2012 : Session pleinière jour 3 par Blog Technique de Romelard Fabrice le il y a 21 heures et 36 minutes

- Mishra Reader : un lecteur RSS très Zune Style en Open Source ! par Cyril Sansus le 02-09-2012, 08:28

- [framework 4] Les Tasks et le Thread UI par Fathi Bellahcene le 02-09-2012, 00:33

- Workflow Foundation 3 a un pied dans la tombe par Blog de Jérémy Jeanson le 02-08-2012, 22:15

- TechDays Paris 2012 : Nouvelles tendances du poste de travail - Bring Your own PC par Blog Technique de Romelard Fabrice le 02-08-2012, 19:42

- TechDays Paris 2012 : System Center Service Manager 2012 Vue d’ensemble par Blog Technique de Romelard Fabrice le 02-08-2012, 17:32

- TechDays Paris 2012 : Pleinière second jour par Blog Technique de Romelard Fabrice le 02-08-2012, 16:23

- TechDays Paris 2012 : Retour d'expérience sur la mise en place d'un Cloud Privé par Blog Technique de Romelard Fabrice le 02-08-2012, 16:04

- TechDays Paris 2012 : Comment SharePoint a sauvé mes TechDays par Blog Technique de Romelard Fabrice le 02-07-2012, 23:59

- Perspective 3.0 pour Silverlight 5.0 par Perspective le 02-07-2012, 22:39