Javascript et ASP.NET, probl�me pour int�grer une variable ASP.NET dans une fen�te javascript (confirm)
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:
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:
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:
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:
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.