2 votes

Comment joindre deux champs dans SelectList ?

Le code ci-dessous me donne une boîte de DropDown avec une liste de noms de Drivers, mais ce ne sont que des prénoms et j'ai aussi des noms de famille, comment puis-je faire cela ? Le code que j'ai est...

@Html.DropDownListFor(model => model.DriverId, new SelectList(Model.Drivers, "Id", "FirstName", Model.DriverId), "<Select Driver>")
@Html.ValidationMessageFor(model => model.DriverId)

Cette opération sélectionne le prénom, par exemple "John", mais je veux que ce soit "John Smith", ce qui inclut également le nom de famille. Quelqu'un peut-il m'aider ?
Merci

4voto

Thousand Points 6242

Vous pourriez créer une propriété dans votre Drivers modèle :

public string FullName
{
  get
  {
  return firstName + " " + LastName;
  }
}

puis dans votre vue, changez simplement "FirstName" en "FullName", comme ceci :

@Html.DropDownListFor(model => model.DriverId, new SelectList(Model.Drivers, "Id", "FullName", Model.DriverId), "<Select Driver>")

3voto

codingbiz Points 15211

Vous pouvez le faire à partir de votre modèle en concaténant le prénom et le nom de famille et l'utiliser dans votre liste déroulante.

public class DriverViewModel
{
   public string FirstName { get; set; }
   public string Surname { get; set; }
   public string FullName
   {
      get 
      {
         return Surname+" "+FirstName; //String.Format("{0} {1}", Surname, FirstName);
      }
   }
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X