Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Bianca

les bons tuyaux !

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

- Silverlight 3 : Communication et multicast par Kévin Gosse le il y a 3 heures et 22 minutes

- [Perso] Découvertes estivales : Linux (Part I) par Le blog de FremyCompany le il y a 6 heures et 3 minutes

- [Refactoring] ReSharper pour Visual Studio 2010 (Preview) par Thomas Jaskula le il y a 20 heures et 39 minutes

- [Refactoring] Analyser vos exceptions avec ReSharper Exceptional par Thomas Jaskula le il y a 21 heures et 53 minutes

- SharePoint 2007 : patterns & practices SharePoint Guidance par Philippe Sentenac [MVP SharePoint] le 07-03-2009, 09:56

- [Visual Studio 2010] Les tests cases c’est bien, mais je vais devoir tout réécrire ? par Etienne Margraff le 07-03-2009, 09:00

- MVP[Gribouillon].AddYear par The Grib's Lair [Sébastien PICAMELOT - MVP SharePoint] le 07-03-2009, 08:45

- Clinique INSIA - Projet de fin d’Etudes (Silverlight 3 MVVM et OutOfBrowser, WCF, TFS) - Part 1 par David REI le 07-02-2009, 23:38

- C’est la crise ? Bah pourquoi cramer du budget pub alors ? par Nix's Blog le 07-02-2009, 15:31

- Soyons MVP ! par TheSaib .NET blog le 07-02-2009, 12:15