这段代码令我感到困惑,看起来我错过了什么。
模型
public class County
{
public int ID { get; set; }
public string Name { get; set; }
}
public class Education
{
public int ID { get; set; }
public string Title { get; set; }
}
控制器
public ActionResult Create()
{
ViewBag.ListOfCounties = new SelectList(db.Counties, "ID", "Name");
ViewBag.ListOfEducations = new SelectList(db.Educations, "ID", "Title");
return View();
}
查看
@Html.DropDownListFor(model => model.Person.County, ViewBag.ListOfCounties as SelectList, "Choose county")
@Html.DropDownListFor(model => model.Person.Education, ViewBag.ListOfEducations as SelectList, "Choose education")
县名列表正常呈现,但教育列表为空白。 不同之处在于我在“教育”中使用“标题”而非“名称”。
然后我尝试在我的模型和控制器中将“Title”重命名为“Name”,然后正常呈现列表。
但我想使用“标题”而不是“名字”!
答案 0 :(得分:0)
我找到了解决方法,在我的控制器中我将其更改为。
ViewBag.ListOfEducations = new SelectList(db.Educations.Select(c => new { c.ID, c.Title }), "ID", "Title");
但为什么我必须这样做?在我看来,初始代码应该有效。