从填充的ViewData下拉(Populating a dropdown from ViewData

2019-06-27 06:57发布

我在我的控制器可视数据是由一个列表填充:

List<employee> tempEmpList = new List<employee>();
tempEmpList = context.employees.ToList();
ViewData["tempEmpList"] = tempEmpList;

而我传递到这一点我的看法,问题是,我该如何放置可视数据列表的内容转换成一个下拉列表?

显示数据将.name从列表项。

我知道我可以做foreach的可视数据,并创建一个选择列表,但是这似乎有点长篇大论

Answer 1:

您可以使用DropDownList的 HTML帮助:

@Html.DropDownList("SelectedEmployee", 
    new SelectList((IEnumerable) ViewData["tempEmpList"]), "Id", "Name")

SelectList构造函数,你可以指定其中的性质Employee类应该被用作下拉列表中的文本和值两者(例如,“ID”,“姓名”)

下拉(名称"SelectedEmployee"当你将数据上传到服务器)将被使用。



Answer 2:

设置您ViewData以正常的方式,分配映射到模型中的属性,将在被绑定的按键名称Post ...

ViewData["ModelPropertyName"] = new SelectList(...)

然后,在你看来,只要加入一Html.DropDownList ...

@Html.DropDownList("ModelPropertyName")


Answer 3:

请试图。 我曾尝试与MVC5

@Html.DropDownList("SelectedEmployee", new SelectList((System.Collections.IEnumerable) ViewData["tempEmpList"],"id","Name"))



文章来源: Populating a dropdown from ViewData