Bonjour,

Je suis bloqué sur un problème auquel je ne trouve aucune solution. Cela parait simple mais je n'arrive pas à mettre le doigt dessus. J'espère qu'un regard extérieur de développeurs confirmés pourra m'aider à avancer.

J'ai un detailsview qui contient les informations relatives à un client, et je veux que lorsque je clique sur le bouton "Supprimer", il y ait une action de vérification sur un gridview situé sur la même page (contient des éléments liés au client sélectionné).
En gros, je compte le nombre de ligne.
Si le nombre de lignes du Gridview est supérieur à 0, je veux afficher une popup qui demande une confirmation à l'utilisateur, si celui-ci dit OK, on supprime tout (client+éléments liés), sinon on ne fait rien.

J'espère que mon résumé est assez clair.

Mon problème est que lorsque je clique sur le bouton, l'application compte bien le nombre de lignes et va jusqu'à la commande popup.show(); qui permet d'afficher la popup. Seulement, il ne se passe rien, l'application passe sur le code et continue, il n'y a pas d'interruption.

Voici mon code, j'espère que quelqu'un pourra m'aider.

Le HTML
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
 
<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="ModifClient.aspx.cs" Inherits="Ecrans_Gestion_de_la_boutique_ModifClient" Title="Informations client" %>
 
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %>
 
<asp:Content ID="ModifClientContent" ContentPlaceHolderID="Main" Runat="Server">
 
<div class="ModifClientDetailView">
    <asp:UpdatePanel ID="UpdatePanel2" runat="server">
        <ContentTemplate>
            <!-- Source de données du DetailView !-->    
 
            <asp:ObjectDataSource 
                ID="ODS_Client" 
                runat="server" 
                DeleteMethod="DeleteClient" 
                SelectMethod="GetClientByIDClient" 
                TypeName="ClientBLL" 
                UpdateMethod="UpdateClient" 
                >
                <DeleteParameters>
                    <asp:Parameter Name="ID_CLIENT" Type="Int32" />
                </DeleteParameters>
                <UpdateParameters>
                    <asp:Parameter Name="ID_Boutique" Type="Int32" />
                    <asp:Parameter Name="Nom" Type="String" />
                    <asp:Parameter Name="Prenom" Type="String" />
                    <asp:Parameter Name="Civilite" Type="String" />
                    <asp:Parameter Name="Adresse" Type="String" />
                    <asp:Parameter Name="Complement" Type="String" />
                    <asp:Parameter Name="CP" Type="Int32" />
                    <asp:Parameter Name="Ville" Type="String" />
                    <asp:Parameter Name="Pays" Type="String" />
                    <asp:Parameter Name="Tel_Fixe" Type="String" />
                    <asp:Parameter Name="Tel_Mobile" Type="String" />
                    <asp:Parameter Name="Fax" Type="String" />
                    <asp:Parameter Name="Autre_Tel" Type="String" />
                    <asp:Parameter Name="Email" Type="String" />
                    <asp:Parameter Name="Commentaire" Type="String" />
                    <asp:Parameter Name="ID_CLIENT" Type="Int32" />
                </UpdateParameters>
                <SelectParameters>
                    <asp:QueryStringParameter 
                        Name="_IDClient" 
                        QueryStringField="ID" 
                        Type="Int32" />
                </SelectParameters>
            </asp:ObjectDataSource>
 
            <!-- Configuration du DetailView !-->    
            <asp:DetailsView 
                ID="ClientDetailsView" 
                runat="server" 
                AutoGenerateRows="False" 
                DataKeyNames="ID_CLIENT" 
                DataSourceID="ODS_Client" 
                DefaultMode="ReadOnly" 
                >
                <PagerStyle Width="100px" />
                <Fields>
                    <asp:TemplateField HeaderText="Boutique:" SortExpression="ID_BOUTIQUE">
                        <EditItemTemplate>
                            <!-- Configuration du DataSource pour la dropdownlist !-->
                            <asp:DropDownList 
                                ID="DropDownListBoutique" 
                                runat="server" 
                                DataSourceID="dsBoutique" 
                                DataTextField="M_Nom" 
                                DataValueField="ID_BOUTIQUE" 
                                SelectedValue='<%# Bind("ID_Boutique") %>'>
                            </asp:DropDownList>
                            <asp:SqlDataSource 
                                ID="dsBoutique" 
                                runat="server" 
                                ConnectionString="<%$ ConnectionStrings:GestionConnectionString %>" 
                                SelectCommand="SELECT [ID_BOUTIQUE], [M_Nom] FROM [T_BOUTIQUE]">
                            </asp:SqlDataSource>
                            <br />
                        </EditItemTemplate>
                        <ItemTemplate>
                            <asp:Label 
                                ID="Label1" 
                                runat="server" 
                                Text='<%# Bind("Boutique") %>'>
                            </asp:Label>
                        </ItemTemplate>
                        <InsertItemTemplate>
                            <asp:DropDownList 
                                ID="DropDownListBoutique" 
                                runat="server" 
                                AutoPostBack="true" 
                                DataSourceID="dsBoutique" 
                                DataTextField="M_Nom" 
                                DataValueField="ID_BOUTIQUE" 
                                SelectedValue='<%# Bind("ID_Boutique") %>'>
                            </asp:DropDownList>
                            <asp:SqlDataSource 
                                ID="dsBoutique" 
                                runat="server" 
                                ConnectionString="<%$ ConnectionStrings:GestionConnectionString %>" 
                                SelectCommand="SELECT [ID_BOUTIQUE], [M_Nom] FROM [T_BOUTIQUE]">
                            </asp:SqlDataSource>
                        </InsertItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="Civilité:" SortExpression="Civilite">
                        <EditItemTemplate>
                            <asp:DropDownList 
                                ID="DropDownList1" 
                                runat="server" 
                                SelectedValue='<%# Bind("civilite") %>'>
                                <asp:ListItem>M.</asp:ListItem>
                                <asp:ListItem>Mme</asp:ListItem>
                                <asp:ListItem>Mlle</asp:ListItem>
                                <asp:ListItem>Me</asp:ListItem>
                                <asp:ListItem>Dr</asp:ListItem>
                                <asp:ListItem></asp:ListItem>
                            </asp:DropDownList>
                        </EditItemTemplate>
                        <InsertItemTemplate>
                            <asp:DropDownList 
                                ID="DropDownList1" 
                                runat="server" 
                                SelectedValue='<%# Bind("civilite") %>'>
                                <asp:ListItem>M.</asp:ListItem>
                                <asp:ListItem>Mme</asp:ListItem>
                                <asp:ListItem>Mlle</asp:ListItem>
                                <asp:ListItem>Me</asp:ListItem>
                                <asp:ListItem>Dr</asp:ListItem>
                                <asp:ListItem></asp:ListItem>
                            </asp:DropDownList>
                        </InsertItemTemplate>
                        <ItemTemplate>
                            <asp:Label 
                                ID="Label2" 
                                runat="server" 
                                Text='<%# Bind("Civilite") %>'>
                            </asp:Label>
                        </ItemTemplate>
                        <HeaderStyle Width="100px" />
                    </asp:TemplateField>
                    <asp:BoundField 
                        DataField="Nom" 
                        HeaderText="Nom :" 
                        SortExpression="Nom" />
                    <asp:BoundField 
                        DataField="Prenom" 
                        HeaderText="Prénom :" 
                        SortExpression="Prenom" />
                    <asp:BoundField 
                        DataField="Adresse" 
                        HeaderText="Adresse:" 
                        SortExpression="Adresse" />
                    <asp:BoundField 
                        DataField="Complement" 
                        HeaderText="Complément:" 
                        SortExpression="Complement" />
                    <asp:BoundField 
                        DataField="CP" 
                        HeaderText="Code Postal:" 
                        SortExpression="CP" />
                    <asp:BoundField 
                        DataField="Ville" 
                        HeaderText="Ville:" 
                        SortExpression="Ville" />
                    <asp:BoundField 
                        DataField="Pays" 
                        HeaderText="Pays:" 
                        SortExpression="Pays" />
                    <asp:BoundField 
                        DataField="Tel_Fixe" 
                        HeaderText="Tél. Fixe:" 
                        SortExpression="Tel_Fixe" />
                    <asp:BoundField 
                        DataField="Tel_Mobile" 
                        HeaderText="Tél. Mobile:" 
                        SortExpression="Tel_Mobile" />
                    <asp:BoundField 
                        DataField="Fax" 
                        HeaderText="Télécopie:" 
                        SortExpression="Fax" />
                    <asp:BoundField 
                        DataField="Autre_Tel" 
                        HeaderText="Autre Tél.:" 
                        SortExpression="Autre_Tel" />
                    <asp:BoundField 
                        DataField="Email" 
                        HeaderText="Email" 
                        SortExpression="Email" />
                    <asp:BoundField 
                        DataField="Commentaire" 
                        HeaderText="Commentaire" 
                        SortExpression="Commentaire" />
                    <asp:TemplateField ShowHeader="False">
                        <EditItemTemplate>
                            <asp:ImageButton 
                                ID="ImageButtonValider" 
                                runat="server" 
                                CausesValidation="True" 
                                CommandName="Update" 
                                ImageUrl="~/App_Themes/Vert/Images/Validate.gif" 
                                ToolTip="Valider la modification" />
                            &nbsp;|&nbsp;
                            <asp:ImageButton 
                                ID="ImageButtonAnnuler" 
                                runat="server" 
                                CausesValidation="False" 
                                CommandName="Cancel" 
                                ImageUrl="~/App_Themes/Vert/Images/Cancel.gif" 
                                ToolTip="Annuler" />
                            &nbsp;|&nbsp;
                            <asp:ImageButton 
                                ID="ImageButtonAjouter" 
                                runat="server" 
                                ImageUrl="~/App_Themes/Vert/Images/Add.gif" 
                                onclick="ImageButtonAjouter_Click" 
                                ToolTip="Ajouter un animal" />
                        </EditItemTemplate>
                        <ItemTemplate>
                            <asp:ImageButton 
                                ID="ImageButtonModifier" 
                                runat="server" 
                                CommandName="Edit" 
                                ImageUrl="~/App_Themes/Vert/Images/Update.gif" 
                                ToolTip="Modifier" />
                            &nbsp;|&nbsp;
                            <asp:ImageButton 
                                ID="ImageButtonSupprimer" 
                                runat="server" 
                                CausesValidation="False" 
                                CommandName="Delete" 
                                ImageUrl="~/App_Themes/Vert/Images/Delete.gif" 
                                ToolTip="Supprimer" 
                                onclick="ImageButtonSupprimer_Click" />
                            &nbsp;|&nbsp;
                            <asp:ImageButton 
                                ID="ImageButtonAjouter" 
                                runat="server" 
                                ImageUrl="~/App_Themes/Vert/Images/Add.gif" 
                                onclick="ImageButtonAjouter_Click" 
                                ToolTip="Ajouter un animal" />
 
                        </ItemTemplate>
                    </asp:TemplateField>
                </Fields>
                <HeaderStyle Width="100px" />
            </asp:DetailsView>
 
        </ContentTemplate>
    </asp:UpdatePanel>
 
</div>
 
..................
 
 <!-- Popup d'avertissement s'il existe des animaux liés au client à supprimer -->
<asp:Panel 
    ID="PanelSupp" 
    runat="server" 
    CssClass="Popup" 
    style="width:350px;padding:10px;color:Black;text-align:center;font-weight:bold;"> 
    <asp:Panel 
        runat="Server" 
        ID="PanelEntêteMessage" 
        Style="cursor: move;background-color:#DDDDDD;border:solid 1px Gray;color:Red;text-align:center;">
        Avertissement</asp:Panel>
    <br />
    <asp:Panel 
        ID="PanelContentMessage" 
        runat="server" 
        style="font-weight:normal;">
        Etes-vous sûr de vouloir annuler? <br />
        Les informations saisies seront perdues</asp:Panel>
        <table width="300px">
            <tr>
                <td align="center">
                <asp:ImageButton 
                    ID="ImageButtonAnnuler"
                    runat="server"  
                    ImageUrl="~/App_Themes/Vert/Images/cancel.gif" 
                    ToolTip="Retour à l'écran précédent" 
                 />
                </td>
 
                <td align="center">
                <asp:ImageButton 
                    ID="ImageButtonValider"
                    runat="server"  
                    ImageUrl="~/App_Themes/Vert/Images/validate.gif" 
                    ToolTip="Continuer" 
                 />
                </td>
            </tr>
        </table>
</asp:Panel>
 
<asp:LinkButton ID="DummyLinkButtonSupp" runat="server"></asp:LinkButton>
 
<ajaxToolkit:ModalPopupExtender 
    ID="ModalSupprimer" 
    runat="server"
    OkControlID="ImageButtonValider"
    CancelControlID="ImageButtonAnnuler"
    TargetControlID="DummyLinkButtonSupp"
    PopupControlID="PanelSupp"
    BackgroundCssClass="modalBackground" 
    DropShadow="true" 
    RepositionMode="RepositionOnWindowScroll">
</ajaxToolkit:ModalPopupExtender>
et voici le code behind
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
    protected void ImageButtonSupprimer_Click(object sender, ImageClickEventArgs e)
    {
        int _NbAnimaux = GridViewAnimalList.Rows.Count;
 
        if (_NbAnimaux > 0)
        {
            this.ModalSupprimer.Show();
        }
    }
Je ne comprends pas pourquoi la popup ne s'affiche pas et je pense que c'est lié au detailsview car j'ai déjà utilisé ce type de popup avec un appel depuis un bouton et ça fonctionnait très bien.

Merci d'avance