Bonjour à tous !
J'étais un peu divisé car je ne savais pas s'il valait mieux poster cela ici, ou dans le forum C#/ASP.. Chers modos, déplacez au besoin !
Je rencontre actuellement un problème avec Ajax et le C#.
J'aimerai pouvoir passer un paramètre du JS au C# lors de l'appel de la fonction du code behind par le JS. La raison est très simple, l'action à faire dans la BD par le code behind dépend du bouton cliqué par l'utilisateur.
Je vous mets un peu de code pour que vous visualisiez..
La fonction JS qui appel le code behind :
La fonction du code behind :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 function AddFavoris() { var response; // J'aimerais passer un paramètre lors de cet appel... AjaxLib.AddFavoris(AddFavoris_CallBack); }
La fonction JS de call_back qui récupère les retours du code behind exécuté :
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 [Ajax.AjaxMethod(HttpSessionStateRequirement.ReadWrite)] public string AddFavoris() { Site1.open_connection(); try { String strRequete = ""; if (estAdmin()) { Utilisateur collaborateur = new Utilisateur(WebFormImputation.collaborateurSelected); strRequete = "INSERT INTO TacheFavorite VALUES('" + collaborateur.getIdUtilisateur() + "',8)"; } else { strRequete = "INSERT INTO TacheFavorite VALUES('" + Site1.getUser().getIdUtilisateur() + "',8)"; } SqlCommand cmd = new SqlCommand(strRequete, Site1.cnn); cmd.ExecuteNonQuery(); return "ok"; } catch { return "Error"; } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 function AddFavoris_CallBack(response) { if (response == 'Error') { alert("An Error occured in accessing the DataBase !!!"); } else { alert("Tâche ajoutée aux favoris avec succès !"); } document.getElementById("ContentPlaceHolder1_idTacheFavoris").value = ""; }
Merci de proposer vos idées, je précise que je suis débutant en C# et que c'est la première fois que je mets de l'Ajax en place avec cette techno, il se peut donc que je sois passé à côté de quelque chose d'évident !
Partager