Как заполнить DropDownList в ASP.Net MVC2? - PullRequest
2 голосов
/ 07 августа 2010

У меня есть следующая схема базы данных: alt text

Вот как я заполняю DropDownList в моем AreaController.cs:

public ActionResult Edit(int id)
{
    Area area = areaRepository.GetArea(id);
    JefeRepository jefe = new JefeRepository();
    ViewData["Jefes"] = new SelectList(jefe.FindAllJefes().ToList(), "ID", "Nombre", area.Jefe.Nombre);
    return View(area);
}

Тогда в моем представлении я отображаю это так:

<%: Html.DropDownList("IDJefe", (SelectList)ViewData["Jefes"]) %>  

DropDownList загружается правильно, но показывает только имя Jefe. Я хочу отобразить как имя, так и фамилию. Как мне этого добиться?

Я пытался сделать что-то подобное, но отображалось только имя.

ViewData["Jefes"] = new SelectList(jefe.FindAllJefes().ToList(), "ID", "Nombre", area.Jefe.Nombre + area.Jefe.Apellido);

Вот как это выглядит: alt text

1 Ответ

1 голос
/ 07 августа 2010

В вашем классе вы можете создать свойство, которое будет объединять его для вас, а также может быть привязано к вашему списку, например. если у меня есть класс Person:

public class Person
{
   public int Id { get; set; }
   public string FirstName { get; set; }
   public string LastName { get; set; }
   public string FullName { get { return string.Format("{0} {1}", FirstName, LastName); } }
}

Тогда вы можете легко связать это как:

ViewData["Persons"] = new SelectList(persons, "Id", "FullName ", ...);

Поскольку у него есть только геттер, он не будет вовлечен в процессы вашей бизнес-логики - он только поможет;)

PS. Извините за другой пример, но я действительно не понимаю испанский;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...