如何在ASP.Net MVC2中填充DropDownList?

时间:2010-08-06 20:48:02

标签: asp.net-mvc-2 drop-down-menu

我有以下数据库架构: alt text

以下是我在AreaController.cs中填充DropDownList的方法:

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 个答案:

答案 0 :(得分:1)

在你的班级中你可以创建一个属性,它将为你组合它,也可以绑定到你的列表,即。如果我有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 ", ...);

只要它只有getter它就不会涉及到你的业务逻辑流程 - 它只会有所帮助;)

PS。对不起另一个例子,但我真的不懂西班牙语;)