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 :

aide pour faire un test au résultat du DropDownList


Sujet :

ASP.NET

  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 74
    Par défaut aide pour faire un test au résultat du DropDownList
    Bonjour,
    je suis débutant en asp.net.
    J'utilise DropDownList pour afficher une liste de couleur depuis une table de ma base de donnée.
    et ça marche bien

    je veux que vous m'aider à ajouter un test, je vous explique.
    si couleur "rouge" passer à la page "page1.aspx"
    si couleur "jaune" passer à la page "page2.aspx"
    si couleur "noir" passer à la page "page3.aspx"
    en utilisant un bouton.

    prière de me donner des idées pour programmer ce bouton.
    merci

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Quel langage ? VB.NET je suppose

    Quelle est la partie qui te bloque au juste ? Tester la couleur ? Rediriger vers une autre page ?

    Pour tester la couleur il suffit de faire un Select Case sur la valeur sélectionnée. Pour rediriger vers une autre page il faut utiliser Response.Redirect

    Code VB.NET : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Select Case dropDownCouleur.SelectedValue
     
        Case "rouge"
            Response.Redirect("page1.aspx")
        Case "jaune"
            Response.Redirect("page2.aspx")
        Case "noir"
            Response.Redirect("page3.aspx")
     
    End Select

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 74
    Par défaut
    Citation Envoyé par tomlev Voir le message
    Quel langage ? VB.NET je suppose

    Quelle est la partie qui te bloque au juste ? Tester la couleur ? Rediriger vers une autre page ?

    Pour tester la couleur il suffit de faire un Select Case sur la valeur sélectionnée. Pour rediriger vers une autre page il faut utiliser Response.Redirect

    Code VB.NET : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Select Case dropDownCouleur.SelectedValue
     
        Case "rouge"
            Response.Redirect("page1.aspx")
        Case "jaune"
            Response.Redirect("page2.aspx")
        Case "noir"
            Response.Redirect("page3.aspx")
     
    End Select
    Merci beaucoup pour votre réponse
    j'utilise c#
    J'ai essayé avec boucle if
    pour lire le contenu du dropDownList et afficher dans une zone de texte.
    voici mon petit exemple:

    if (DropDownList1.SelectedValue == "Rouge")

    TextBox1.Text = "OK";
    else
    TextBox1.Text = "NO";
    j'ai toujours le résultat NO dans la zone de texte même quand je choisi Rouge dans la dropDownList

    à mon avis l'erreur est dans SelectedValue!
    en utilise SelectedValue pour lire le contenu selectionner du dropDownList?
    merci de me conseiller

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par makin_toch Voir le message
    j'utilise c#
    Au temps pour moi, mauvaise intuition...
    Et tant mieux parce que j'ai horreur d'écrire du code VB

    Citation Envoyé par makin_toch Voir le message
    J'ai essayé avec boucle if
    if ne sert pas à faire des boucles, mais je comprends ce que tu veux dire...
    L'équivalent en C# du code que je t'ai donné, c'est un switch
    Mais a priori ça ne règlera pas le problème si SelectedValue n'a pas la valeur attendue...

    Citation Envoyé par makin_toch Voir le message
    à mon avis l'erreur est dans SelectedValue
    Quelle est la valeur de SelectedValue ? A quel endroit as-tu mis ce code ?
    Comment as-tu déclaré le DropDownList et ajouté les items ?

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 74
    Par défaut
    merci énormément pour votre attention
    je vous explique ma méthode:

    dans ma page .aspx j'ai ajouté DropDownList qui affiche une liste des couleurs depuis une table de base donnée.

    J'ai ajouté un bouton et zone de texte (pour tester le résultat)

    dans le fichier .aspx.cs, j'ai mis mon code dans
    protected void Button1_Click(object sender, EventArgs e)
    pour fonctionner le bouton

    Maintenant je veux afficher dans la zone de texte OK
    si le couleur sélectionner dans la liste déroumante=rouge
    sinon afficher NO

    voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    protected void Button1_Click(object sender, EventArgs e)
        {
     
            if (DropDownList1.SelectedValue == "rouge")
     
                TextBox1.Text = "OK";
            else
               TextBox1.Text = "NO";    
        }
    Apparemment le problème est dans la lecture de continue de la liste déroulante.

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    OK donc tu fais ça sur le clic du bouton... mais tu n'as pas répondu à mes autres questions :

    Quelle est la valeur de SelectedValue (mets un point d'arrêt pour regarder la valeur en debug) ?
    Comment as-tu déclaré le DropDownList (montre le code ASPX) ?
    Comment as-tu ajouté les couleurs à la liste ?

  7. #7
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 74
    Par défaut
    Citation Envoyé par tomlev Voir le message
    Quelle est la valeur de SelectedValue (mets un point d'arrêt pour regarder la valeur en debug) ?
    Désolé mais je ne sais pas comment déterminer ce valeur.


    Citation Envoyé par tomlev Voir le message
    Comment as-tu déclaré le DropDownList (montre le code ASPX) ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <asp:DropDownList ID="DropDownList1" runat="server" 
            DataSourceID="SqlDataSource1" DataTextField="Type" DataValueField="Id_noeud" Height="23px" 
                            Width="130px" onselectedindexchanged="DropDownList1_SelectedIndexChanged">
        </asp:DropDownList>
    Citation Envoyé par tomlev Voir le message
    Comment as-tu ajouté les couleurs à la liste ?
    depuis la table de ma base donnée

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
            ConnectionString="<%$ ConnectionStrings:MonitoringDBConnectionString %>" 
            SelectCommand="SELECT [Id_couleur], [couleur] FROM [voiture]"></asp:SqlDataSource>

  8. #8
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2002
    Messages
    274
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2002
    Messages : 274
    Par défaut
    Salut, à mon avis le problème vient des 2 propriétés DataTextField et DataValueField.

    Selon ta requête, je mettrai : DataTextField = "couleur" et DataValueFiled = "Id_couleur".

    Ensuite dans ton switch ou ton if, si tu veux tester le nom de la couleur, il faut faire le test suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    protected void Button1_Click(object sender, EventArgs e)
        {
            
            if (DropDownList1.SelectedItem.Text == "rouge")
     
                TextBox1.Text = "OK";
            else
               TextBox1.Text = "NO";    
        }
    si tu utilise SelectedValue, tu vas retomber sur le Id_couleur

  9. #9
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par makin_toch Voir le message
    Désolé mais je ne sais pas comment déterminer ce valeur.
    Tu sais pas utiliser le debugger ? Tu devrais apprendre, c'est facile et extrêmement utile pour trouver ce qui déconne dans ton code...

    Mets toi dans la méthode Button1_Click (par exemple au niveau de la ligne avec le "if") et clique dans la marge à gauche pour créer un point d'arrêt. Quand l'exécution atteindra cette instruction, le programme se mettra en pause, et tu pourras regarder les valeurs des variables en passant la souris au-dessus

  10. #10
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 74
    Par défaut
    Citation Envoyé par tomlev Voir le message
    Tu sais pas utiliser le debugger ? Tu devrais apprendre, c'est facile et extrêmement utile pour trouver ce qui déconne dans ton code...

    Mets toi dans la méthode Button1_Click (par exemple au niveau de la ligne avec le "if") et clique dans la marge à gauche pour créer un point d'arrêt. Quand l'exécution atteindra cette instruction, le programme se mettra en pause, et tu pourras regarder les valeurs des variables en passant la souris au-dessus
    Merci, j'apprends avec vous pas à pas
    voici un imprimé écran quand j'ai utilisé le debugger :



    Citation Envoyé par rohstev Voir le message
    Tu sais pas utiliser le debugger ? Tu devrais Salut, à mon avis le problème vient des 2 propriétés DataTextField et DataValueField.

    Selon ta requête, je mettrai : DataTextField = "couleur" et DataValueFiled = "Id_couleur".

    Ensuite dans ton switch ou ton if, si tu veux tester le nom de la couleur
    Voici ma dérniere version de mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        protected void Button3_Click(object sender, EventArgs e)
        {
     
            if (DropDownList1.SelectedValue == "rouge ")
     
                TextBox1.Text = "OK";
            else
                TextBox1.Text = "NO";
     
        }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <div>
     
                        <asp:DropDownList ID="DropDownList1" runat="server" 
                            DataSourceID="SqlDataSource1" DataTextField="Couleur" DataValueField="Couleur">
                        </asp:DropDownList>
                        <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
                            ConnectionString="<%$ ConnectionStrings:MonitoringDBConnectionString %>" 
                            SelectCommand="SELECT [Couleur] FROM [Voiture]"></asp:SqlDataSource>
                    </div>
    J'ai testé if (DropDownList1.SelectedItem.Text == "rouge")
    et ça marche pas, même résultat NO
    j'espère que sa vous aide pour me conseiller

  11. #11
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2002
    Messages
    274
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2002
    Messages : 274
    Par défaut
    si tu regardes bien, ta selectedValue = "rouge " avec plein d'espaces après.

    "rouge " != "rouge"

    Dans ton cas essaie d'utiliser la fonction trim() pour supprimer ces espaces, mais le mieux serait de supprimer les espaces à la source, directement dans ta base de données. Apparemment c'est un problème de format de ta colonne dans ta BD, utilises peut-être nvarchar

  12. #12
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 74
    Par défaut
    Citation Envoyé par rohstev Voir le message
    si tu regardes bien, ta selectedValue = "rouge " avec plein d'espaces après.

    "rouge " != "rouge"

    Dans ton cas essaie d'utiliser la fonction trim() pour supprimer ces espaces, mais le mieux serait de supprimer les espaces à la source, directement dans ta base de données. Apparemment c'est un problème de format de ta colonne dans ta BD, utilises peut-être nvarchar
    merci
    j'ai changé le type vers nvarchar
    et ça fonctionne 5/5
    Bonne journée

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 20/06/2011, 02h01
  2. Réponses: 42
    Dernier message: 11/03/2007, 14h09
  3. [VBA-E]besoin d'aide pour faire une boucle
    Par mikazounette dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 10/04/2006, 14h04
  4. [XSLT] aide pour faire un tableau HTML avec fusion de lignes
    Par utwor dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 02/01/2006, 21h41
  5. Besoin d'aide pour faire un script
    Par shinux2004 dans le forum Langage
    Réponses: 4
    Dernier message: 16/07/2005, 16h44

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