salut tt le mode![]()
ma question est :
Comment recuperer -dans un code C#- la valeur retourner par une fonction javascript.
salut tt le mode![]()
ma question est :
Comment recuperer -dans un code C#- la valeur retourner par une fonction javascript.
Je ne suis pas expert en la matière (dev Web) mais:
- Javascript = coté client
- C# = coté serveur
Donc je doute que ce soit possible (mais c'est à confirmer)
Thomas LEBRUN: MCAD.NET, MCTS (Win et Web), MCPD(Win et Web) & Microsoft MVP Client Application Development
WPF par la pratique, mon livre sur WPF ! (également disponible ici ou là)
A la découverte de .NET
Je ne suis pas non plus expert en la matière mais je pense qu'il est possible de faire ce que tu veux en passant par un champ caché (balise de type <input type="hidden" runat="server" id="valeurRetournee"> ). Dans la fonction Javascript tu mets à jour la valeur de ce champ et comme cela au prochain retour vers le serveur(là il n'y a pas de miracle, il faut absolument un retour serveur), tu auras la valeur que tu veux dans ton code C#.
Salut, tu peux le faire avec ASP.NET. Je n'ai malheureusement pas ma référence avec moi (Wrox Profesionnal ASP.NET 2.0 special edition très bon livre en passant), mais je pourrais te le dire aux alentours de mardi. J'avais lu ça dans la section qui parlait AJAX. Mais tu peux le faire j'en suis certain. Tu devrais poser ta question dans le forum ASP.NET pour une réponse plus rapide que moi lol.
Ce que Thomas et Bouvda ont dit est tout à fait exact et comme je fais du développement web depuis +- six ans, je crois être en mesure de pouvoir confirmer![]()
Donc effectivement, javascript (client), c# code behind en ASP.net (serveur) et au milieu il y a IIS.
Tu dois donc soumettre à partir de javascript une requête HTTP qui envoie les données en POST ou en GET (dans l'url) à une page aspx qui pourra récupérer la variable en question soit via un contrôle serveur (web control), soit via Request.Form (POST) ou Request.QueryString (GET) ou encore Request.Params (les deux).
AJAX te permet aussi de faire un aller-retour serveur mais son intérêt est qu'il permet surtout de raffraîchir partiellement une page web plutôt que de la recharger entièrement. Dans ton cas, je ne pense pas qu'il y lieu de l'utiliser. AJAX nécessite l'installation d'une extension pour visual studio sauf si tu le fais à la main car après tout ce n'est que l'envoi d'une xmlhttprequest au lieu d'une httprequest....enfin bref.
Je pense que la technique mentionnée par boudva est la plus simple à mettre en oeuvre. Comme ceci par exemple:
Ta fonction js
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <script type="text/javascript" language="javascript"> function GetAValue() { return 1; } </script>
Ton formulaire
et dans ton code-behind, tu récupères comme ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <form id="form1" runat="server"> <div> <input type="hidden" name="TheVariable" /> <input type="submit" onclick="this.form.elements['TheVariable'].value = GetAValue();" /> </div> </form>
Ceci n'est qu'une méthode parmi d'autres. Tu peux simplifier au niveau de ta fonction JS en faisant ceci
Code : Sélectionner tout - Visualiser dans une fenêtre à part Request.Form["TheVariable"]
Code : Sélectionner tout - Visualiser dans une fenêtre à part document.form1.elements["TheVariable"].value = 1;
Enfin voilà, j'imagine que tu as compris le principe
Partager