Partage
  • Partager sur Facebook
  • Partager sur Twitter

Validation d'un formulaire

ASP.NET

Sujet résolu
    23 août 2011 à 12:02:15

    Bonjour,

    J'ai un formulaire qui est rempli automatiquement (donc deux fenêtres: une page avec les données à transmettre et le formulaire)de la 1ère page j'ai envie de créer un lien qui transmets les données du formulaire vers un autre site mais sans ouvrir mon formulaire. Ce lien doit valider le bouton du formulaire "envoyer" (qui va tout basculer vers l'autre site) . Si c'est possible comment on le fait, je suis un novice qui est en stage.

    Merci beaucoup
    • Partager sur Facebook
    • Partager sur Twitter
      23 août 2011 à 13:58:22

      Bonjour,

      Si j'ai bien compris : Tu as une page de données et une copie des données sur ton formulaire.

      Le lien doit être présent sur ta page de données et tu veux envoyer les données sur un site comme fait le bouton "Envoyer" de ton formulaire.

      Travailles-tu sous Excel?

      Comment doivent être envoyé les données ?



      • Partager sur Facebook
      • Partager sur Twitter
      Ceci est une signature
        23 août 2011 à 14:24:56

        J'ai ce code en aspx.cs qui rempli automatiquement mon formulaire qui est en aspx :

        private void Page_Load(object sender, System.EventArgs e)
        {
        string nir = UserContext.Current.Nir;
        Identite ide = new Identite(nir);

        if (ide.Nom != null && ide.Nom.Length > 0)
        {
        tbNom.Text = ide.Nom;
        }

        if (ide.NomJeuneFille != null && ide.NomJeuneFille.Length > 0)
        {
        tbNomNaissance.Text = ide.NomJeuneFille;
        }

        if (ide.Prenom != null && ide.Prenom.Length > 0)
        {
        tbPrenom.Text = ide.Prenom;
        }
        tbCodePostal.Text = ide.AfficheCodePostal;
        tbVille.Text = ide.NaissanceCommentaire;
        tbDateNaissance.Text = ide.DateNaissance.ToString("dd/MM/yyyy");
        rblSexe.SelectedValue =ide.Sexe.CompareTo("1") == 0?"M":"F";
        tbCodePostalR.Text = ide.CodePostal.ToString();

        if (ide.LibellePaysAdresse != null && ide.LibellePaysAdresse.Length > 0)
        {
        tbAdresseR.Text = ide.LibellePaysAdresse;
        }

        if (ide.Commune != null && ide.Commune.Length > 0)
        {
        tbVilleR.Text = ide.Commune;
        }

        if (ide.Telephone1 != null && ide.Telephone1.Length > 0)
        {
        tbTelephone.Text = ide.Telephone1.ToString();
        }

        if (ide.NumeroSecuriteSocial != null && ide.NumeroSecuriteSocial.Length > 0)
        {
        tbNumeroSecu.Text = ide.NumeroSecuriteSocial.ToString();
        }
        //tbIPPR =

        tbDateDuJour.Text = DateTime.Now.ToString("dd/MM/yyyy");
        tbUrl.Text = WebConfiguration.Current.WebSettings.UrlTrajectoire;
        tbCodeSIH.Text = WebConfiguration.Current.WebSettings.CodeSIHTrajectoire;
        tbLoginUtilisateur.Text = WebConfiguration.Current.WebSettings.LoginTrajectoire;
        tbMotDePasse.Text = WebConfiguration.Current.WebSettings.MotDePasseTrajectoire;
        }

        protected void btEnvoyer_Click(object sender, System.EventArgs e)
        {

        // collection qui contiendra les données à crypter
        TransfertContexteCollection _oParametresCollection = new TransfertContexteCollection();

        // données sur l'utilisateur
        _oParametresCollection.Add(TransfertContexteCollection.KEY_TRAJECTOIRE_UTILISATEUR_LOGINTRAJECTOIRE, tbLoginUtilisateur.Text);
        _oParametresCollection.Add(TransfertContexteCollection.KEY_TRAJECTOIRE_UTILISATEUR_MOTDEPASSETRAJECTOIRE, tbMotDePasse.Text);

        // données sur le patient
        _oParametresCollection.Add(TransfertContexteCollection.KEY_TRAJECTOIRE_PATIENT_NOMNAISSANCE, tbNomNaissance.Text);
        _oParametresCollection.Add(TransfertContexteCollection.KEY_TRAJECTOIRE_PATIENT_NOMUSUEL, tbNom.Text);
        _oParametresCollection.Add(TransfertContexteCollection.KEY_TRAJECTOIRE_PATIENT_PRENOMNAISSANCE, tbPrenom.Text);
        _oParametresCollection.Add(TransfertContexteCollection.KEY_TRAJECTOIRE_PATIENT_SEXE, rblSexe.SelectedValue);
        _oParametresCollection.Add(TransfertContexteCollection.KEY_TRAJECTOIRE_PATIENT_DATENAISSANCE, tbDateNaissance.Text);
        _oParametresCollection.Add(TransfertContexteCollection.KEY_TRAJECTOIRE_PATIENT_CODEPOSTALNAISSANCE, tbCodePostal.Text);
        _oParametresCollection.Add(TransfertContexteCollection.KEY_TRAJECTOIRE_PATIENT_VILLENAISSANCE, tbVille.Text);

        _oParametresCollection.Add(TransfertContexteCollection.KEY_TRAJECTOIRE_PATIENT_CODEPOSTALDOMICILE, tbCodePostalR.Text);
        _oParametresCollection.Add(TransfertContexteCollection.KEY_TRAJECTOIRE_PATIENT_VILLEDOMICILE, tbVilleR.Text);

        _oParametresCollection.Add(TransfertContexteCollection.KEY_TRAJECTOIRE_PATIENT_TELEPHONE, tbTelephone.Text);
        _oParametresCollection.Add(TransfertContexteCollection.KEY_TRAJECTOIRE_PATIENT_NUMEROSECURITESOCIALE, tbNumeroSecu.Text);

        _oParametresCollection.Add(TransfertContexteCollection.KEY_TRAJECTOIRE_PATIENT_ADRESSEDOMICILE, tbAdresseR.Text);


        _oParametresCollection.Add(TransfertContexteCollection.KEY_TRAJECTOIRE_PATIENT_IPPR, tbIPPR.Text);


        //Données sur l'établissement appelant
        _oParametresCollection.Add(TransfertContexteCollection.KEY_TRAJECTOIRE_CODE_SIH, tbCodeSIH.Text);

        //Code de la fonction souhaitée (ici : orientation)
        _oParametresCollection.Add(TransfertContexteCollection.KEY_TRAJECTOIRE_CODE_FONCTION, TransfertContexteCollection.VALUE_TRAJECTOIRE_CODE_FONCTION_ORIENTATION);

        // création de la chaine de caractères cryptée
        string _sChaineCryptee = TransfertContexteUtilitaire.GetParamUrlContexte(_oParametresCollection);

        // définition du lien vers Trajectoire
        string _sUrlTrajectoireTransfertContexteComplete = tbUrl.Text + _sChaineCryptee;

        // redirection sur le site Trajectoire
        Response.Redirect(_sUrlTrajectoireTransfertContexteComplete, true);

        }

        sur le formulaire les identifiants et mot de passe sont déjà préerempli c'est pour ça qu'on veut pas que ce formulaire s'ouvre.

        Et voilà mon code Menu :

        item title="Trajectoire">
        <item title="Demande d'Admission" href="../../Interfaces/Trajectoire.aspx" target="_blank"></item>
        <item title="Tableau de bord" href="../../Interfaces/Trajectoire.aspx" target="_blank"></item>

        "Demande d'Admission lance le formulaire où on a le bouton pour accéder au site "externe".
        Je ne travaille pas sous Excel.

        Merci
        • Partager sur Facebook
        • Partager sur Twitter
          23 août 2011 à 14:51:49

          :-° je m'y connais très peu (voire pas du tout, je suis en train de regarder les tutos sur developpez.com) en ASP.NET.

          En Winforms on peut créer une forms et elle s'affiche que si tu appelle la fonction Show().

          Peux-tu faire pareille avec un formulaire ASP. Tu créé ton formulaire en remplissant les champs mais tu ne l'affiche pas (Tu n'appelle pas la fonction Show()). Puis tu appelle la fonction Envoie de ton formulaire de cet façon :

          formulaire.btEnvoyer_Click(nothing, new system.EventArgs())
          


          Mais si le fonctionnement est différents des WinForms alors je n'en sais rien.

          En espérant que cela t'aidera.
          • Partager sur Facebook
          • Partager sur Twitter
          Ceci est une signature
            23 août 2011 à 15:06:14

            Merci beaucoup, mais je me suis mal exprimé peut être:

            Se que je veux c'est: la 1ère page contient déjà toutes les données, dès que je clique sur un lien de cette 1ère page: le formulaire s'ouvre avec les champs remplis automatiquement des données venant de cette page et là si on clique sur le Bouton "envoyer" ces mêmes données seront transmises à un site externe. <--Tout ça tourne à merveille,--> mais se que je veux c'est que ce formulaire ne s'ouvre pas. En cliquant sur le lien de la 1ère page tout se déclenche en arrière plan et par magie le site externe s'ouvre. Donc un lien pour de la 1ère page pour valider le bouton "envoyer" du formulaire sans qu'il s'ouvre. oufff!

            Merci encore
            • Partager sur Facebook
            • Partager sur Twitter
              23 août 2011 à 15:21:00

              Lorsque tu déclare ton formulaire tu mets l'attribut visible=false comme dans l'exemple ci-dessous :

              <form id="form2" runat="server" visible="false">
              </form>
              


              Ton formulaire sera créé mais ne sera pas visible par les utilisateurs ensuite tu appelle le code de la fonction BtEnvoyer_Click de ta form dans l'évènement de clique de ton lien.



              Cet exemple est tiré de la question Peut-on avoir plusieurs formulaires avec runat=server dans une même page ? du FAQ ASP.NET de Developpez.com :

              http://dotnet.developpez.com/faq/asp/c [...] esrunatserver

              Tu peux aussi trouver plein de tutoriel utile sur ce site.

              • Partager sur Facebook
              • Partager sur Twitter
              Ceci est une signature
                23 août 2011 à 15:27:03

                Merci,

                Comme je t'ai dit que je suis novice, je vais voir si on peut valider "BtEnvoyer_Click" par un lien simple.
                • Partager sur Facebook
                • Partager sur Twitter

                Validation d'un formulaire

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown