Popup Confirmation Delete sur GridView

Une manière toute simple pour faire en sorte de demander à l'utilisateur de confirmer une demande de Suppression faites en cliquant sur le lien DELETE d'une GridView :

 transformer votre

<asp:CommandField ShowDeleteButton="True" />

 en TemplateField. Vous pouvez le faire très facilement depuis le Designer de Visual Studio ou à la mimine (aussi très rapidement).

En gros votre bouton Delete devient :

<asp:TemplateField ShowHeader="False">
  <ItemTemplate><asp:LinkButton ID="LinkButtonDelete" runat="server" CausesValidation="false" CommandName="Suppr"  Text="Delete"
                                 
CommandArgument='<%#Eval("id") %>' ></asp:LinkButton>
 
</ItemTemplate>
</asp:TemplateField>

Bonne nouvelle :
- vous pouvez passer du coup un CommandArgument (ce qui n'est pas vrai avec un CommandField !)

ATTENTION :
- Si vous indiquez CommandName="Delete" vous allez provoquer un Evenement RowDeleting que vous devrez forcément gérer ! Avec ce que cela implique : pas de CommandArgument disponible dans ce cas. C'est pour cela que je renomme le commandName en Suppr.
- Du coup je gère mon action de suppression dans RowCommand au lieu de RowDeleting. Cela revient au même (sauf que j'ai mon commandArgument).

Mais ce n'est pas le sujet... Nous on voulait faire en sorte que l'utilisateur soit obligé de valider son action. Et donc il suffit d'ajouter :

OnClientClick="return confirm('Are you sure ?');"

ce qui nous donne au final :

<asp:TemplateField ShowHeader="False">
  <ItemTemplate><asp:LinkButton ID="LinkButtonDelete" runat="server" CausesValidation="false" CommandName="Suppr"  Text="Delete"
                                 
CommandArgument='<%#Eval("id") %>' OnClientClick="return confirm('Are you sure ?');"></asp:LinkButton>
 
</ItemTemplate>
</asp:TemplateField>

Trop simple :-)

Le TreeView de .NET... Tellement simple !

Bonjour,

 bonne année aux rares lecteurs de ce blog :-)

J'ai commencé l'année en décidant d'enfin utiliser le TreeView proposé en ASP.NET 2.0... Et je n'ai pas été déçu tellement il est simple à utiliser.

Pour la toute première utilisation, il suffira de faire un fichier web.sitemap qui devra décrire notre arborescence de menu. Exemple :

<?xml version="1.0" encoding="utf-8" ?>
<
siteMap>
<
siteMapNode title="Menu">
<
siteMapNode title="Accueil" url="~/index.aspx" >
</
siteMapNode>
<
siteMapNode title="Categorie1">
  <
siteMapNode title="Page1 de la Categorie1" url="~/categorie1/page1.aspx"></siteMapNode>
  <siteMapNode title="Page2 de la Categorie1" url="~/categorie1/page2.aspx"></siteMapNode>
</siteMapNode>
<siteMapNode title="Categorie2">
  <siteMapNode title="Page1 de la Categorie2" url="~/categorie2/page1.aspx"></siteMapNode>
  <siteMapNode title="Page2 de la Categorie2" url="~/categorie2/page2.aspx"></siteMapNode>
</siteMapNode>
</siteMapNode>
</
siteMap>

On vient grosso mode de décrire :

MENU
  |
  |--Categorie1
  |         |--Page1 de la Categorie1
  |         |--Page2 de la Categorie1
  |--Categorie2
            |--Page1 de la Categorie2
            |--Page2 de la Categorie2

D'après le descriptif XML, Menu n'est pas un lien , ni Categorie1, ni Categorie2. Mais cela pourrait être le cas ! il suffirait d'ajouter le paramètre URL comme nous l'avons fait pour Page1 et Page2 dans chaque catégorie.

Le fichier XML prêt... Il suffit maintenant dans notre page ASPX où l'on veut afficher le menu d'écrire ceci :

<asp:TreeView DataSourceID="SiteMapDataSource1" ID="TreeView1" ImageSet="Simple2" Runat="server" OnDataBound="TreeView1_DataBound" ExpandDepth="0"/>
<asp:SiteMapDataSource ID="SiteMapDataSource1" Runat="server"/>

Evidemment, on peut se caler sur autre chose que le SiteMap du site ! On peut fournir n'importe quelle source. Mais comme on le voit à l'exécution... Rien de plus simple que de faire des menus attractifs...

Donc pensons plus souvent au TreeView :-D

This is title

Post goes here

A propos de l'auteur

 

Développeur depuis plus de 10 ans, j'ai commencé la programmation dès l'âge de 9 ans sur un PC 8088 !!

GW-Basic, Pascal, Turbo Pascal, Delphi ont fait mes bases... Puis Java , bien plus tard... Pour enfin avoir découvert le C#... Quel plaisir de développer avec ce langage des solutions ASP.NET... Le développement Web comme jamais je ne pouvais l'imaginer possible :)

Aujourd'hui titulaire du MCSD VS 6.0, MCAD .NET, et MCT ...

Sur ce blog, je souhaite partager des choses simples mais efficaces... Des problèmes de tous les jours que l'on peut rencontrer et qu'il est simple de régler :)

Mes certifications

Month List