Jus*_*per 9 asp.net-mvc viewdata razor asp.net-mvc-3
我在我的控制器中有一个viewdata,它由一个列表填充:
List<employee> tempEmpList = new List<employee>();
tempEmpList = context.employees.ToList();
ViewData["tempEmpList"] = tempEmpList;
Run Code Online (Sandbox Code Playgroud)
我将此传递到我的视图中,问题是,如何将viewdata列表的内容放入下拉列表?
显示数据将.name来自列表项.
我知道我可以foreach在Viewdata上创建一个选择列表,但这看起来有点长
nem*_*esv 20
您可以使用DropDownList html帮助器:
@Html.DropDownList("SelectedEmployee",
new SelectList((IEnumerable) ViewData["tempEmpList"]), "Id", "Name")
Run Code Online (Sandbox Code Playgroud)
在SelectList构造函数中,您可以指定Employee应将类的哪些属性用作下拉列表中的文本和值(例如"Id","Name")
"SelectedEmployee"将数据回发到服务器时,将使用dropdown()的名称.
ViewData以正常方式设置您,指定一个键名称,该名称映射到模型中将绑定的属性Post...
ViewData["ModelPropertyName"] = new SelectList(...)
Run Code Online (Sandbox Code Playgroud)
然后在你的视图中添加一个Html.DropDownList......
@Html.DropDownList("ModelPropertyName")
Run Code Online (Sandbox Code Playgroud)
请尝试一下。我已经尝试过 MVC5
@Html.DropDownList("SelectedEmployee", new SelectList((System.Collections.IEnumerable) ViewData["tempEmpList"],"id","Name"))
| 归档时间: |
|
| 查看次数: |
34951 次 |
| 最近记录: |