Model view controller asp.net mvc 2多选列表框。如何在控制器中读取值

Model view controller asp.net mvc 2多选列表框。如何在控制器中读取值,model-view-controller,binding,listbox,Model View Controller,Binding,Listbox,我很难找到一个相当简单的工作绑定 编辑员工时,我希望显示一个列表框,其中包含系统中所有可用的角色(选中员工的角色),保存员工时,我希望MVC将选中的角色填充到作为控制器输入参数的employee对象中 我知道我可以从Request.Form中读取逗号分隔的值,但我不希望直接在控制器中触摸Request对象,因为这会使它们更难测试 让MVC向我提供角色列表作为输入参数的最佳方法是什么?您有两个选择。第一种方法是获取控制器中的值并将其放入ViewData字典中,如下所示: var list = Em

我很难找到一个相当简单的工作绑定

编辑员工时,我希望显示一个列表框,其中包含系统中所有可用的角色(选中员工的角色),保存员工时,我希望MVC将选中的角色填充到作为控制器输入参数的employee对象中

我知道我可以从Request.Form中读取逗号分隔的值,但我不希望直接在控制器中触摸Request对象,因为这会使它们更难测试


让MVC向我提供角色列表作为输入参数的最佳方法是什么?

您有两个选择。第一种方法是获取控制器中的值并将其放入
ViewData
字典中,如下所示:

var list = EmployeeRoles.GetAll();
ViewData["EmployeeRoles"] = list;
然后使用以下命令在视图中访问它:

<%= (List<EmployeeRoles>)ViewData["EmployeeRoles"] %>
然后将其从控制器传递到视图,如下所示:

return View(new EmployeeViewModel (employee, roles);
在视图方面,您可以像访问任何其他模型一样访问它:

<%= Model.Employee.Name %>
<%= Model.EmployeeRoles.First() %>

HtmlHelper
将确定需要发送回什么,以便模型绑定器正确绑定它。不过,我不知道我头顶上的
下拉框是什么。

你有两个选择。第一种方法是获取控制器中的值并将其放入
ViewData
字典中,如下所示:

var list = EmployeeRoles.GetAll();
ViewData["EmployeeRoles"] = list;
然后使用以下命令在视图中访问它:

<%= (List<EmployeeRoles>)ViewData["EmployeeRoles"] %>
然后将其从控制器传递到视图,如下所示:

return View(new EmployeeViewModel (employee, roles);
在视图方面,您可以像访问任何其他模型一样访问它:

<%= Model.Employee.Name %>
<%= Model.EmployeeRoles.First() %>
HtmlHelper
将确定需要发送回什么,以便模型绑定器正确绑定它。不过,我不知道我头顶上的
下拉框是什么意思