IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Comment recuperer -dans un code C#- la valeur retourner par une fonction javascript.


Sujet :

C#

  1. #1
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    96
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 96
    Points : 97
    Points
    97
    Par défaut 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.

  2. #2
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    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)

  3. #3
    Membre averti Avatar de bouvda
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    252
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 252
    Points : 318
    Points
    318
    Par défaut
    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#.

  4. #4
    Membre régulier
    Homme Profil pro
    Activité
    Inscrit en
    Juillet 2005
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Activité

    Informations forums :
    Inscription : Juillet 2005
    Messages : 94
    Points : 88
    Points
    88
    Par défaut
    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.

  5. #5
    Membre expert

    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    1 581
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 581
    Points : 3 016
    Points
    3 016
    Par défaut
    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:


    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>
    Ta fonction js

    Ton formulaire

    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>
    et dans ton code-behind, tu récupères comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Request.Form["TheVariable"]
    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
    document.form1.elements["TheVariable"].value = 1;

    Enfin voilà, j'imagine que tu as compris le principe

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 09/06/2011, 14h32
  2. Réponses: 3
    Dernier message: 09/06/2011, 14h22
  3. Réponses: 8
    Dernier message: 05/04/2011, 08h06
  4. [Débutant] Recuperer la valeur retourner par une fonction
    Par chouki dans le forum MATLAB
    Réponses: 1
    Dernier message: 26/05/2009, 09h04
  5. Envoyer une valeur génerée par une fonction javascript
    Par karimphp dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 10/12/2006, 18h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo