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

ASP.NET Discussion :

[ASP .NET2] Post data sur un formulaire


Sujet :

ASP.NET

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juillet 2004
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 50
    Points : 32
    Points
    32
    Par défaut [ASP .NET2] Post data sur un formulaire
    Bonjour a tous,
    je souhaiterai effectuer un post de données sur une page web quelconque et je rencontre qques problemes.

    J'ai effectué plusieurs tests :
    1) Un petit formulaire standard de la sorte
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    <body>
        <form method="POST" action="http://www.google.fr" id="FRMIDENT">
            <input type="hidden" name="login" value="testLogin" />
            <input type="hidden" name="password" value="testPWD" />
        </form>
        <script type="text/javascript" language="JavaScript">
            document.forms[0].submit();
        </script>
    </body>
    et pas de probleme ca fonctionne bien

    Mon probleme est de ne pas mettre les parametres en dur.
    Pour cela il faut que j'utilise des asp:HiddenField et que je mette un runat="server" pour le formulaire.
    Le souci est que quand je poste c'est la page actuelle qui se recharge et non pas la page que j'ai mise en ACTION.

    2) J'ai donc tenté une autre solution : celle qui consiste a passer par un objet response et a construire mon formulaire dynamiquement : la encore ca ne marche pas, car je n'arrive pas a me connecter sur le serveur google.
    Vu que je suis sur un réseau d'entreprise et que je passe par un proxy je me dis que le probleme vient peut etre de la....


    Quelqu'un aurait-il donc été déjà confronté à ce probleme ou aurait-il des pistes?

    Merci d'avance

  2. #2
    Membre expérimenté Avatar de bizet
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2005
    Messages
    717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 717
    Points : 1 338
    Points
    1 338
    Par défaut
    salut

    je vois que tu debutes en ASP.NET.

    Je te conseille de prendre des tutos et de suivre les tutos. Tu verras ASP.NET est assez deroutant au debut car les formulaires sont renvoyés sur la même page. Il faut donc que tu fasses un traitement dans le code behind de cette page.

    Tres deroutant pour qqun qui vient du php ou de l'asp.
    Mais tu verras tu t'y feras vite si tu ne brules pas les etapes.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juillet 2004
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 50
    Points : 32
    Points
    32
    Par défaut
    Et non, je ne débute en ASP .NET par contre c'est la premiere fois que je me mets dans le postage de données et j'avoue que cela me laisse perplexe.

    Donc, tu me dis d'utiliser le code behind...OK via un response.redirect ou autre?
    Le probleme est toujours mon postage de mes champs cachés qui ne sont pas envoyés

    PS : si je puis me permettre, ce genre de réponse (même si ca part d'un bon fond) ne sert pas à grand chose

  4. #4
    Membre expérimenté Avatar de bizet
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2005
    Messages
    717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 717
    Points : 1 338
    Points
    1 338
    Par défaut
    Oki désolé, c'était pas méchant mais ca faisait penser à un problème de débutant avec les formulaires.

    Comme tu as commencé a le dire, je mettrais les infos dans des champs caché asp puis dans le code behind je recupérerai les infos et les mettrais en session avant de faire un redirect : Response.Redirect("mapage.aspx");

    Et dans ta nouvelle page tu récupères les variables de session

  5. #5
    Membre expérimenté Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Points : 1 352
    Points
    1 352
    Par défaut
    C'est normal que cela soit ta page qui soit rechargé, c'est le principe meme d'asp.net.

    Lors du premier appel tes controles sont crées en htmlm et envoyés au serveur.
    Lors du postback, les controles sont a nouveau crées et comparés avec ce que ta page html du client lui a renvoyé pour qu'il comprenne ce qu'il doit faire.

    Dans ton cas lors de ton submit en js, ta page est rechargé et ensuite ton evenement formulaire est mis en place et ira se connecter à google.
    Peux tu détailler un peu plus, ne serait ce que le message d'erreur déjà qui apparait..

    [EDIT] Oups... ce que je viens d'écrire est une grosse betise... On est vendredi je crois... [EDIT]

  6. #6
    Nouveau membre du Club
    Inscrit en
    Juillet 2004
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 50
    Points : 32
    Points
    32
    Par défaut
    ne t'en fais pas il n'y a pas de probleme, je sais bien que c'etait pas mauvais

    Donc pour en revenir sur notre sujet, j'ai fait exactement ce que tu suggeres, mais mon probleme est que mes champs cachés ne sont pas transmis à la page.

    Au passage, ma redirection s'effectue vers un site web externe à mon site (du style www.google.com), j'ai moins de probleme pour poster en interne de mon site web, justement grace à mon objet de session asp .NET.

  7. #7
    Membre expérimenté Avatar de bizet
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2005
    Messages
    717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 717
    Points : 1 338
    Points
    1 338
    Par défaut
    Je veins de me rendre compte que tu cherches à envoyer tes données sur une page que tu n'as pas codé. La solution proposée précédemment ne peut donc fonctionner.
    Voila ce que tu peux tenter :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <form method="POST" action="http://www.google.fr" id="FRMIDENT">
            <input type="hidden" name="login" 
                  value="<asp:Label ID="Labellogin"></asp:Label>" />
            <input type="hidden" name="password" 
                  value="<asp:Label ID="Labelpassword"></asp:Label>" />
        </form>
    et dans le page Load de la page :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Labellogin.text="monlogin";
    Labelpassword.Text="monpassword";

  8. #8
    Nouveau membre du Club
    Inscrit en
    Juillet 2004
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 50
    Points : 32
    Points
    32
    Par défaut
    c'est une solution a laquelle je n'avais pas pense, malheureusement je ne peux meme pas compiler; il a l'air de ne pas aimé la présence de guillemets dans le champ value de son input

  9. #9
    Nouveau membre du Club
    Inscrit en
    Juillet 2004
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 50
    Points : 32
    Points
    32
    Par défaut
    c'est bon j'ai trouvé en me basant sur ta piste.
    Voila la solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    <form method="POST" action="http://www.google.fr" id="FRMIDENT">
            <input type="hidden" name="login" 
                  value="<%=testLogin %>" />
            <input type="hidden" name="password" 
                  value="<%=testPwd %>" />
        </form>
        <script type="text/javascript" language="JavaScript">
            document.forms[0].submit();
        </script>
    et dans le aspx.cs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    testLogin = "toto1";
    testPwd = "toto2';

    Merci pour ton aide bizet

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 14/08/2007, 09h26
  2. [c#][asp.net2] upload de fichiers sur un serveur
    Par skystef dans le forum ASP.NET
    Réponses: 1
    Dernier message: 21/02/2007, 10h24
  3. Petit cours pour éviter l'envoi POST data d'un formulaire apres un rafraîchissement
    Par maximenet dans le forum Contribuez / Téléchargez Sources et Outils
    Réponses: 8
    Dernier message: 07/10/2006, 01h03
  4. formulaire POST envoyé sur une page en GET
    Par Eusebius dans le forum Langage
    Réponses: 15
    Dernier message: 01/09/2006, 17h10
  5. question sur un formulaire en asp
    Par leclone dans le forum ASP
    Réponses: 4
    Dernier message: 10/05/2006, 11h21

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