代码之家  ›  专栏  ›  技术社区  ›  Sergio Tapia

如何在中填充DropDownListASP.Net MVC2?

  •  2
  • Sergio Tapia  · 技术社区  · 14 年前

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

    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 回复  |  直到 14 年前
        1
  •  1
  •   Łukasz W.    14 年前

    在您的类中,您可以创建一个属性,该属性将为您组合它,也可以绑定到您的列表,例如,如果我有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,它就不会涉及到您的业务逻辑流程中—它只会有帮助;)