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 MVC Discussion :

DropDownList Html Helper, afficher une concatenation en value


Sujet :

ASP.NET MVC

  1. #1
    Membre éclairé
    Étudiant
    Inscrit en
    Avril 2008
    Messages
    311
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2008
    Messages : 311
    Par défaut DropDownList Html Helper, afficher une concatenation en value
    Bonjour,

    j'aimerais afficher une liste de ce style :
    <select>
    <option value="id">Prenom Nom</option>
    ...
    </select>

    tirée d'une base de données.

    J'utilise pour mes vues les HtmlHelpers.

    Pour la dropdownlist voici l'utilisation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%= Html.DropDownList("CodeResponsable", new SelectList(itsges.Models.PersonneModele.ListePersonnes(), "Code", "Nom"))%>
    Le dernier paramètre est celui qui m'intéresse.
    Le code de la liste est le suivant :
    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
    17
    18
     
    public static IEnumerable<PersonneModele> ListePersonnes(int? affecteProjet = 0)
            {
                List<PersonneModele> listePersonnes = new List<PersonneModele>();
                string sql = "SELECT PRS_CODE, PRS_PRENOM, PRS_NOM FROM t_personne_prs";
     
                //test pour modifier la liste
                if (affecteProjet != 0) sql += " WHERE PRS_AFFECTEE_PROJET = 1";
                MySqlDataReader m = MySqlConnexion.RequeteSQL(sql);
                while (m.Read())
                {
                    PersonneModele p = new PersonneModele();
                    p.SetAllValues(m);
                    listePersonnes.Add(p);
                }
                m.Close();
                return listePersonnes;
            }
    avec les attributs de la classe CODE NOM et PRENOM.

    Quand je mets dans mon dropdownlist helper en dernier attribut [CODE]"NOM" + " " + "PRENOM" j'ai l'exception suivante :
    DataBinding : 'itsges.Models.PersonneModele' ne comporte pas de propriété appelée 'Prenom Nom'.
    Y'a-t-il un moyen de faire ça simplement sans redevelopper (surcharger?) la méthode dropdownlist de htmlhelper ?

    Merci par avance.
    @+

  2. #2
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2007
    Messages : 871
    Par défaut
    Salut,

    Encore plus simple: tu ajoutes dans PersonneModele une propriété calculée qui concatène nom et prénom.

    Truc du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public string Civilite 
    {
      get { return this.Nom+" "+this.Prenom;}
    }

  3. #3
    Membre éclairé
    Étudiant
    Inscrit en
    Avril 2008
    Messages
    311
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2008
    Messages : 311
    Par défaut
    Bonjour,

    effectivement j'y avais pensé mais j'trouve pas ça très propre (avoir une getter sur une propriété calculée, même pas sur un attribut). Néanmoins, si y'a pas d'autre solution je vais partir dessus.

    Merci.

  4. #4
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2007
    Messages : 871
    Par défaut
    Re,

    A mon sens c'est plus propre : ta vue fais moins de traitement, la civilité est réutilisable et ton code est plus lisible.

  5. #5
    Membre éclairé
    Étudiant
    Inscrit en
    Avril 2008
    Messages
    311
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2008
    Messages : 311
    Par défaut
    Effectivement :-).

    Merci de ton avis.

    @+

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 23/03/2011, 16h05
  2. [HTML] Comment afficher une image dans un mail?
    Par NedaRyme dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 14/02/2008, 13h20
  3. [HTML] Comme afficher une image dans une newsletter ?
    Par jfrsm dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 04/06/2007, 04h25
  4. [HTML] Comment afficher une aide html & créer un jar // JDIC
    Par michaeljeru dans le forum AWT/Swing
    Réponses: 11
    Dernier message: 24/04/2007, 17h03
  5. [HTML]--[débutant]---->Afficher une Fenetre
    Par abbd dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 26/07/2006, 18h03

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