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.

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 ?')";
        }
    }
(Le bouton est un ImageBouton, g�n�r� dynamiquement dans chaque ligne d'un GridView de donn�es)


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 :

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>
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.

__________ __________

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.