2017-08-14 2 views
0

Existe-t-il une meilleure façon d'utiliser Value et Text propriétés de SelectList que ce que je fais dans ma vue suivante? J'ai l'impression de faire du travail supplémentaire.Comment utiliser la propriété Afficher le texte dans SelectList

Remarque: Je suis au courant d'autres façons d'utiliser des menus déroulants avec Value et Text. Cette question ne concerne que sur la façon d'obtenir le même en utilisant SelectList

... 
var customersList = _context.Customers.Select(c => new SelectListItem { Value = c.LastName, Text = c.FullName }); 

MyViewModel.lstCustomers = new SelectList(customersList , "Value", "Text"); 
... 
return View(MyViewModel); 

J'ai trouvé des méthodes similaires here et here.

+1

'customersList' est déjà' IEnumerable '. Utiliser 'new SelectList (...)' pour créer un autre 'IEnumerable ' identique est juste inutile. Votre propriété 'lstCustomers' devrait être' IEnumerable 'puisque c'est tout ce qui est requis par la méthode' DropDownListFor() 'dans votre vue. –

+0

@StephenMuecke C'est ce qui m'inquiétait - faire du travail supplémentaire inutile. Si je devais utiliser 'SelectList', comment utiliser les attributs' Value' et 'Text'? – nam

+0

Vous ne comprenez pas mon commentaire? C'est l'utilisation de nouveau 'SelectList()' qui est inutile. Pour générer un '