这是我的代码:
ViewBag.idprofesor = new SelectList(db.Profesor, "IDProfesor", "nombre");
此代码生成一个下拉列表,仅显示数据库中教师(教授)的姓名(名词),id 像下拉列表一样显示教师的姓名和姓氏。
这是我的代码:
ViewBag.idprofesor = new SelectList(db.Profesor, "IDProfesor", "nombre");
此代码生成一个下拉列表,仅显示数据库中教师(教授)的姓名(名词),id 像下拉列表一样显示教师的姓名和姓氏。
您可能必须手动创建一个 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 );
您只需将SelectListItem的 IEnumerable 传递给构造函数。使用 Linq 从Professor集合中进行选择:
@{
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)