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 :

Récupération d'une valeur sélectionnée dans un liste déroulante


Sujet :

ASP.NET

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2010
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 163
    Points : 77
    Points
    77
    Par défaut Récupération d'une valeur sélectionnée dans un liste déroulante
    Bonjour à tous;

    J'ai une liste déroulante que j'ai insérée dans mon interface web (ASP) et qui est connectée à une table de ma base de données. Lors de l'exécution, un utilisateur voudra sélectionner un champ de cette liste. Je veux récupérer cette valeur sélectionnée pour l'utiliser dans mon programme. Mais je sais pas comment faire.

    En fait au moment de la création graphique de cette liste, j'ai eu ce code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
            protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
            {
                Label1.Text = Convert.ToString(DropDownList1.SelectedValue); 
     
            }
    J'ai voulu afficher dans ce label la valeur sélectionnée dans la liste, mais rien de se passe

    Y a t il une solution, SVP ?

  2. #2
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2010
    Messages : 237
    Points : 83
    Points
    83
    Par défaut
    T'as choisis quel évènement(click,textchanged...) déclenchera cette opération.

  3. #3
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Points : 3 102
    Points
    3 102
    Par défaut
    Citation Envoyé par kensem Voir le message
    T'as choisis quel évènement(click,textchanged...) déclenchera cette opération.
    ?

    Si tu ne récupères rien dans le label avec ce code, c'est que "DropDownList1.SelectedValue" est null ou empty.
    Si "DropDownList1.SelectedValue" est ,null ou empty, c'est très probablement parce que tu recharges ta DropDown à chaque postback.

    Peux-tu nous montrer comment tu charges cette liste ?

  4. #4
    Membre régulier
    Inscrit en
    Novembre 2010
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 163
    Points : 77
    Points
    77
    Par défaut
    Citation Envoyé par calagan99 Voir le message
    ?

    Si tu ne récupères rien dans le label avec ce code, c'est que "DropDownList1.SelectedValue" est null ou empty.
    Si "DropDownList1.SelectedValue" est ,null ou empty, c'est très probablement parce que tu recharges ta DropDown à chaque postback.

    Peux-tu nous montrer comment tu charges cette liste ?
    En fait je charge la liste avec l'outil graphique:

    1) choisir la source de données
    2) je sélectionne 'Base de données'
    3) j'établie une connexion à ma base
    4) je choisis une table
    5) je choisi une colonne de cette table

    Mais lorsque j'exécute mon programme, la liste est pleine

  5. #5
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Points : 3 102
    Points
    3 102
    Par défaut
    Voilà un parfait exemple de la raison pour laquelle les outils graphiques sont une bonne chose quand on maitrise ce qu'il se passe derrière... et pas avant.

    Effectivement ta liste est pleine étant donné la manière dont tu la charges.
    Seulement, quand tu sélectionnes un éléments dans cette liste, ta page est rechargée. Ta liste l'est donc aussi. Par conséquent, sa selectedValue est null.

    Il faut que ne remplisses ta liste qu'a premier chargement de la page.
    Regarde du côté de la propriété isPostBack.

  6. #6
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2009
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

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

    Informations forums :
    Inscription : Décembre 2009
    Messages : 229
    Points : 305
    Points
    305
    Par défaut
    Il faut ajouter à ta DropDownList

  7. #7
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Points : 3 102
    Points
    3 102
    Par défaut
    Citation Envoyé par aguetat Voir le message
    Il faut ajouter à ta DropDownList
    Je pense justement que sa DDL est en autopostback. Mais comme il doit la recharger à chaque postback, il ne récupère jamais de selectedvalue.

  8. #8
    Membre régulier
    Inscrit en
    Novembre 2010
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 163
    Points : 77
    Points
    77
    Par défaut
    Citation Envoyé par calagan99 Voir le message
    Je pense justement que sa DDL est en autopostback. Mais comme il doit la recharger à chaque postback, il ne récupère jamais de selectedvalue.
    DSL!! SVP j'ai pas bien saisi vos remarques! Où est ce que je dois ajouter ce code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Autopostback = "true";
    En plus j'ai ajouté ce code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
        if (!IsPostBack) {
            // Validate initially to force asterisks
    // to appear before the first roundtrip.
            Validate();
        }
    Mais rien ne se passe !!

  9. #9
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2009
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

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

    Informations forums :
    Inscription : Décembre 2009
    Messages : 229
    Points : 305
    Points
    305
    Par défaut
    Dans la page aspx, où t'as crée la DDL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="true">
            </asp:DropDownList>

  10. #10
    Membre régulier
    Inscrit en
    Novembre 2010
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 163
    Points : 77
    Points
    77
    Par défaut
    Citation Envoyé par aguetat Voir le message
    Dans la page aspx, où t'as crée la DDL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="true">
            </asp:DropDownList>
    Revoilà mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
            protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
            {
     
                Label1.Text = Convert.ToString(DropDownList1.SelectedValue);
                Label1.DataBind(); 
     
            }
    Et j'ai ajouté la commande

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
            <asp:DropDownList ID="DropDownList1" runat="server" 
                DataSourceID="SqlDataSource1" DataTextField="LIBE_CHARGE" 
                DataValueField="LIBE_CHARGE" AutoPostBack="true">
            </asp:DropDownList>
    Mais le label n'affiche rien encore

    Est ce qu'il y encore une erreur dans ce code ?

  11. #11
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2009
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

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

    Informations forums :
    Inscription : Décembre 2009
    Messages : 229
    Points : 305
    Points
    305
    Par défaut
    il te manque tu préciser la méthode "onselectedindexchanged"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="true" 
                onselectedindexchanged="DropDownList1_SelectedIndexChanged">
            </asp:DropDownList>

  12. #12
    Membre régulier
    Inscrit en
    Novembre 2010
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 163
    Points : 77
    Points
    77
    Par défaut
    Citation Envoyé par aguetat Voir le message
    il te manque tu préciser la méthode "onselectedindexchanged"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="true" 
                onselectedindexchanged="DropDownList1_SelectedIndexChanged">
            </asp:DropDownList>
    Merci beaucoup, c'est résolu

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 02/02/2013, 11h45
  2. Réponses: 3
    Dernier message: 24/01/2011, 12h01
  3. Réponses: 4
    Dernier message: 07/12/2010, 10h42
  4. Réponses: 28
    Dernier message: 05/03/2009, 12h55
  5. Réponses: 10
    Dernier message: 15/07/2008, 16h23

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