无法使用值加载DropDownList

时间:2010-07-28 16:18:22

标签: linq-to-sql asp.net-mvc-2

我在构建自己的应用程序时遵循NerdDinner教程。

教程给出了这个:

public ActionResult Edit(int id) {

Dinner dinner = dinnerRepository.GetDinner(id);

ViewData["Countries"] = new SelectList(PhoneValidator.AllCountries, dinner.Country);

return View(dinner);
}

我的代码是这样的:

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

FindAllJefes()返回一个IQueryable集合。现在,当我运行应用程序时,dropdownlist会加载两个项目:SeguimientoDocente.Jefe和SeguimientoDocente.Jefe。

似乎它正在加载类型而不是我想要的实际值。\

感谢您的帮助!

编辑:我刚刚意识到这不是一个错误。代码正在完成我告诉它要做的事情。检索每个Jefe名称的最有效方法是什么?

1 个答案:

答案 0 :(得分:0)

为SelectList使用另一个构造函数,您可以在其中指定SeguimientoDocente的哪个属性应为值,哪个属性应显示为文本。类似的东西:

ViewData["Jefes"] = new SelectList(jefe.FindAllJefes(), "Id", "Name", area.Jefe.Nombre);