带枚举的DropDownList

时间:2013-01-18 10:46:18

标签: asp.net-mvc dropdownlistfor

尝试将Enums集合传递给DropDownList时出错。

该集合的类型为IEnumerable。

错误说明:“无法解析方法DropDownListFor(lambda表达式,System.Collections.Generic.IEnumerable”

代码:

@Html.DropDownListFor(m => listing.WorkflowStatus, Model.WorkflowStatuses, new { id = listing.WorkflowStatus, onchange = "$(this.form).submit()" })

我完全卡住了。任何人都可以就问题的原因向我提出建议吗?

1 个答案:

答案 0 :(得分:1)

查看我为此做的帮手。

http://jnye.co/Posts/4/creating-a-dropdown-list-from-an-enum-in-mvc-and-c%23

您需要将它们变成选择列表

在您的控制器中,将您的枚举转换为IEnumerable并将其添加到ViewBag,然后在您的视图中引用它

控制器:

ViewBag.WorkflowStatuses = EnumHelper.SelectListFor(WorkflowStatus.Option1);

在视图中(类似......)

@Html.DropDownListFor(m => listing.WorkflowStatus, ViewBag.WorkflowStatuses as IEnumerable<SelectListItem>.....