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

- Merci par Blog de Jérémy Jeanson le 10-01-2019, 20:47

- Office 365: Script PowerShell pour auditer l’usage des Office Groups de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 11:02

- Office 365: Script PowerShell pour auditer l’usage de Microsoft Teams de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 10:39

- Office 365: Script PowerShell pour auditer l’usage de OneDrive for Business de votre tenant par Blog Technique de Romelard Fabrice le 04-25-2019, 15:13

- Office 365: Script PowerShell pour auditer l’usage de SharePoint Online de votre tenant par Blog Technique de Romelard Fabrice le 02-27-2019, 13:39

- Office 365: Script PowerShell pour auditer l’usage d’Exchange Online de votre tenant par Blog Technique de Romelard Fabrice le 02-25-2019, 15:07

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Stream Portal par Blog Technique de Romelard Fabrice le 02-21-2019, 17:56

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Video Portal par Blog Technique de Romelard Fabrice le 02-18-2019, 18:56

- Office 365: Script PowerShell pour extraire les Audit Log basés sur des filtres fournis par Blog Technique de Romelard Fabrice le 01-28-2019, 16:13

- SharePoint Online: Script PowerShell pour désactiver l’Option IRM des sites SPO non autorisés par Blog Technique de Romelard Fabrice le 12-14-2018, 13:01