Bonjour,
Je souhaite ajouter un fen�tre de validation en javascript quand je clique sur un bouton dans ma page.
Il s'agit d'un bouton permettant de faire une suppression.
La fen�tre de validation est une fonction 'confirm' javascript.
(Le bouton est un ImageBouton, g�n�r� dynamiquement dans chaque ligne d'un GridView de donn�es)
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10 protected void gvDisplayRange_RowCreated(object sender, GridViewRowEventArgs e) { GridViewRow myRow = e.Row; ImageButton ib = myRow.FindControl("imgbtnDeleteRange") as ImageButton; if (ib != null) { ib.Attributes["onClick"] = "return confirm('Confirmez vous la suppression de cette gamme ?')"; } }
Pour l'instant �a fonctionne :
-> Je clique sur l'Imagebouton 'supprimer' dans une ligne de la listView
-> L�, la fen�tre javascript 'Confirmer vous la suppression de cette gamme ?' appara�t.
-> Si je clique sur le bouton 'OK' de cette fen�tre javascript "confirm", mon �v�nement OnClick �crit de le code behind s'ex�cute (Cet �v�nement ex�cute la suppression de la gamme)
-> Si je clique sur le bouton 'Annuler' de la fen�tre javascript "confirm", la fen�tre javascript se ferme et l'�v�nement OnClick ne s'ex�cute pas.
Mon probl�me est que je veux rajouter une donn�es dynamique dans cette fen�tre javascript "confirm".
En gros le message de cette fen�tre doit �tre :
'Confirmer vous la suppression de cette gamme ?
x articles(s) concern�(s)'
La donn�e dynamique � ajouter est x.
x est une donn�e de type string.
x est une propri�t� d�finie dans ma page aspx.cs
Comment ajouter cette donn�es dans la fen�tre javascript "confirm" ?
__________ __________
METHODE N�1 :
J'ai essayer comme ceci :
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 protected void gvDisplayRange_RowCreated(object sender, GridViewRowEventArgs e) { GridViewRow myRow = e.Row; ImageButton ib = myRow.FindControl("imgbtnDeleteRange") as ImageButton; StringBuilder sb = new StringBuilder(); sb.AppendLine("var nbArticle = '<%=nbArticlesConcernedByDelete %>';"); sb.AppendLine("return confirm('Confirmez vous la suppression de cette gamme ?' + nbArticle + ' article(s) concerné(s)')"); if (ib != null) { ib.Attributes["onClick"] = sb.ToString(); } }
Mais la fen�tre javascript m'affiche ceci :
'Confirmer vous la suppression de cette gamme ?
<%=nbArticlesConcernedByDelete %> article(s) concern�(s)'
__________ __________
METHODE N�2 :
Il y a une autre fa�on de faire o� j'arrive � afficher ma donn�es x dans la fen�tre javascript :
Dans ma page aspx, j'�cris ma fonction javascript :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8 <script type="text/javascript" language="javascript"> function DeleteRangeWarning() { var nbArticle = '<%=nbArticlesConcernedByDelete %>'; return confirm('Confirmez vous la suppression de cette gamme ? \n ' + nbArticle + ' articles impactés') } </script>
Toujours dans la page aspx, j'appelle cette fonction dans l'�v�nement "OnClientClick" de mon imageBouton de suppression :
Le probl�me c'est qu'avec cette fa�on de faire, le fait d'appuyer sur 'OK' ou 'Annuler' dans ma fen�tre javascript "confirm" n'a aucune influence sur le d�clenchement de mon �v�nement OnRowCommand �crit dans le code behind (l'�v�nement qui ex�cute la suppression) : Cet �v�nement sera TOUJOURS DECLENCHE.
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 <asp:GridView runat="server" ID="gvDisplayRange" AutoGenerateColumns="false" OnRowCommand="gvDisplayRange_RowCommand" OnRowCreated="gvDisplayRange_RowCreated" > <Columns> <asp:BoundField ... /> <asp:BoundField ... /> <asp:TemplateField HeaderText="Action"> <ItemTemplate> <asp:ImageButton ID="imgbtnSetRange" runat="server" ImageUrl="~/images/iconEdit.png" AlternateText="Modifier la Gamme" CommandName="ModifierAvertissement" CommandArgument='<%# Eval("idOscaroEPCLevelRanges")%>'></asp:ImageButton> <asp:ImageButton ID="imgbtnDeleteRange" runat="server" ImageUrl="~/images/iconErase.png" AlternateText="Supprimer la Gamme" CommandName="SupprimerAvertissement" CommandArgument = '<%# Eval("idGamme")%>' OnClientClick="DeleteRangeWarning();" /> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView>
__________ __________
Voil� mon probl�me.
Quelqu'un a t-il la solution :
- soit dans la m�thode n�1, arriver � afficher la donn�e dans la fen�tre javascript "confirm"
- soit dans la m�thode n�2, faire en sorte que la m�thode OnClientClick ait une influence sur le d�clenchement de la m�thode OnRowCommand
Merci de votre aide.
Partager