我有以下数据库架构:
以下是我在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);
这是它显示的方式:
答案 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。对不起另一个例子,但我真的不懂西班牙语;)