Message de confirmation en JS sur un clique d'une image ASP.NET et C#
Hello tout le monde :) !
J'ai un petit soucis sur une fonction en JavaScript que j'appelle lors d'un clique de bouton, qui est censé m'afficher une "alerte" représentant un message de confirmation.
En fait, l'utilisateur sélectionne une ligne de mon GridView (qui représente une personne), puis un bouton image "supprimer" apparait (jusque là, tout va bien). Lorsque je clique sur le bouton "supprimer", j'aimerai qu'une box apparaissent avec un jolie message du style ("Êtes-vous certain de vouloir supprimer ce contact?"). Si l'utilisateur répond "Ok", alors une méthode de suppression du contact se lance, sinon rien ne se passe. Le hic, c'est que je pense que je m'y prend de travers. Dans ma page aspx, avant mon body, j'ai ce code en JS:
Code:
1 2 3 4 5 6 7 8 9 10
| <script type="text/javascript">
function confirmSubmit() {
var msg = "Etes vous sûr de vouloir supprimer ce contact?";
if (confirm(msg)) {
return true;
} else {
return false;
}
}
</script> |
Ensuite, j'ai un onClick sur une imageButton, avec comme code C#:
Code:
1 2 3 4 5 6 7 8 9 10
| protected void ImageButtonSuppr_Click(object sender, ImageClickEventArgs e)
{
Response.Write("<body><script>return confirmSubmit();</script></body>");
if(true)
{
SupprimerContact();
}
} |
Donc déjà, mon if(true) n'est pas bon, j'aimerai savoir si vous aviez une idée de comment récupérer la réponse de l'utilisateur, ou du moins ce que retourne la méthode?
Ensuite, avec mon Response.Write, une erreur se produit: "Instruction 'return' en dehors d'une fonction".
Pourtant, quand j'écris ce code dans le Page_Load:
Code:
1 2 3 4 5 6 7 8 9 10
| protected void Page_Load(object sender, EventArgs e)
{
ImageButtonSuppr.Attributes.Add("onClick", "return confirmSubmit();");
if (true)
{
SupprimerContact();
}
} |
Cela me lance correctement la petite box message. Bon, avec l'erreur "La référence d'objet n'est pas définie à une instance d'un objet" qui est dû au "if(true)" -- et qui n'est pas à écrire je sais...
Le truc, c'est que pour moi, ça "lit le code pour rien", dans le sens qu'au moindre clique, hop, on "recharge" cette méthode donc au niveau du code c'est pas tip-top. J'aimerai que ça se lance vraiment en cliquant juste sur le bouton et pas au chargement de la page..
Je vous remercie par avance de votre aide.