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 :

Mettre des objets dans une DropDownList


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 7
    Par défaut Mettre des objets dans une DropDownList
    Bonsoir

    Je cherche à mettre des objets "Personne" dans une DropDownList afin de pouvoir récupérer l'objet séléctionné lors du clic sur un bouton.

    Plus concrètement :

    La classe Personne contient deux attributs : id de type int et name de type string.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <p>
    <asp:DropDownList ID="DropDownList" runat="server"></asp:DropDownList>
    <asp:Button ID="Button" runat="server" Text="Valider" onclick="Button_Click" />
    <asp:Literal ID="Literal" runat="server"></asp:Literal>
    </p>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    protected void Page_Load(object sender, EventArgs e)
    {
            List<Person> persons=new List<Person>();
            persons.Add(new Person(21,"Nom 1"));
            persons.Add(new Person(34,"Nom 2"));
     
            DropDownList.DataSource = persons;
            DropDownList.DataTextField = "name";
            DropDownList.DataBind();
    }
    protected void Button_Click(object sender, EventArgs e)
    {
            Literal.Text = Request.Form["DropDownList"];
    }
    La quand je clique sur Valider, ca inscrit l'attribut name de l'objet séléctionné dans le literal "Literal". Comment pourrai-je, au clic sur le bouton, récupérer l'attribut id de l'objet séléctionné en affichant les noms dans la DropDownList ?

  2. #2
    Membre Expert
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Par défaut
    Bonjour,

    Pourquoi ne pas utiliser la propriété SelectedItem ?

    En espérant t'avoir aidé.

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2010
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2010
    Messages : 164
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    protected void Page_Load(object sender, EventArgs e)
    {
            List<Person> persons=new List<Person>();
            persons.Add(new Person(21,"Nom 1"));
            persons.Add(new Person(34,"Nom 2"));
     
            DropDownList.DataSource = persons;
            DropDownList.DataTextField = "name";
            DropDownList.DataValueField = "id";
            DropDownList.DataBind();
    }
    protected void Button_Click(object sender, EventArgs e)
    {
            Literal.Text = DropDownList.SelectedValue;
    }
    ça te donnera ton id.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 7
    Par défaut
    @Nicolas Esprit : Oui j'essaierai avec ta méthode juste après :-)

    @tontonks : Ca marche parfaitement.
    Le seul problème c'est que quand je clique sur le bouton "Valider", ca recharge la page et la DropDownList reselectionne le premier élément et du coup j'affiche toujours l'id du premier objet :-(
    Comment palier à ce problème ?

    Merci

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2010
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2010
    Messages : 164
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    if (!Page.IsPostBack)
    {
            List<Person> persons=new List<Person>();
            persons.Add(new Person(21,"Nom 1"));
            persons.Add(new Person(34,"Nom 2"));
     
            DropDownList.DataSource = persons;
            DropDownList.DataTextField = "name";
            DropDownList.DataValueField = "id";
            DropDownList.DataBind();
    }

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 7
    Par défaut
    Ok ca marche ! Merci tontonks :-)

    Sinon j'ai une autre question :
    Comment récupérer en C# le tableau des values d'une dropdownlist ?

    Merci.

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

Discussions similaires

  1. comment mettre des int dans une char??
    Par gronaze dans le forum C
    Réponses: 5
    Dernier message: 21/04/2006, 17h02
  2. [Debutant] Mettre des images dans une Toolbar
    Par Beleim dans le forum Windows
    Réponses: 11
    Dernier message: 02/03/2006, 23h31
  3. [CSS] Mettre des variable dans une feuille de style???
    Par Shakta dans le forum Mise en page CSS
    Réponses: 9
    Dernier message: 24/02/2006, 10h39
  4. Interet de mettre des fichiers dans une base de donnée
    Par Oberown dans le forum Décisions SGBD
    Réponses: 7
    Dernier message: 04/07/2005, 11h35
  5. Réponses: 2
    Dernier message: 27/03/2005, 16h09

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