我在我的控制器可视数据是由一个列表填充:
List<employee> tempEmpList = new List<employee>();
tempEmpList = context.employees.ToList();
ViewData["tempEmpList"] = tempEmpList;
而我传递到这一点我的看法,问题是,我该如何放置可视数据列表的内容转换成一个下拉列表?
显示数据将.name
从列表项。
我知道我可以做foreach
的可视数据,并创建一个选择列表,但是这似乎有点长篇大论
您可以使用DropDownList的 HTML帮助:
@Html.DropDownList("SelectedEmployee",
new SelectList((IEnumerable) ViewData["tempEmpList"]), "Id", "Name")
在SelectList
构造函数,你可以指定其中的性质Employee
类应该被用作下拉列表中的文本和值两者(例如,“ID”,“姓名”)
下拉(名称"SelectedEmployee"
当你将数据上传到服务器)将被使用。
设置您ViewData
以正常的方式,分配映射到模型中的属性,将在被绑定的按键名称Post
...
ViewData["ModelPropertyName"] = new SelectList(...)
然后,在你看来,只要加入一Html.DropDownList
...
@Html.DropDownList("ModelPropertyName")
请试图。 我曾尝试与MVC5
@Html.DropDownList("SelectedEmployee", new SelectList((System.Collections.IEnumerable) ViewData["tempEmpList"],"id","Name"))