这是我的代码:
ViewBag.idprofesor = new SelectList(db.Profesor, "IDProfesor", "nombre");这段代码生成一个dropdown,它只显示数据库中教师的名字(nombre),id类似于下拉列表,显示教师的名字和姓氏。
发布于 2012-06-19 11:14:54
您可能需要手动创建一个SelectListItems列表,用于手动指定所需的字段。如下所示:
List<SelectListItem> professors = new List<SelectListItem>();
foreach(var professor in db.Professors) {
professors.Add( new SelectListItem() { Text = professor.Fn + " " + professor.Ln, Value = professor.Id } );
}
ViewVag.Professors = professors;然后在您的视图中:
Html.DropDownListFor( m => m.Professor, ViewBag.Professors );发布于 2012-06-19 11:14:00
您只需将SelectListItem的IEnumerable传递给构造函数。使用Linq从教授集合中进行选择:
@{
var mySelectList =
db.Professor.Select(prof => new SelectListItem(
Text = prof.lastName + ", " + prof.nombre,
Value = prof.IDProfessor
)
).AsEnumerable();
} 使用Razor,您应该能够创建下拉列表,如下所示:
@Html.DropDownList("mydropdownlist", mySelectList)要将其绑定到模型中的属性,语法略有不同:
@Html.DropDownListFor(model => model.someproperty, mySelectList)https://stackoverflow.com/questions/11093884
复制相似问题