如何将多个下拉列表绑定到枚举列表?

时间:2015-01-20 08:34:52

标签: c# asp.net-mvc razor enums html.dropdownlistfor

我有一个带有财产的模型"国家"类型列表。国家是一个枚举。该列表可以包含0-5个国家/地区。当我编辑此模型时,我想为列表中的每个国家/地区使用下拉列表。我希望能够通过使用5个下拉列表为该属性选择0-5个国家/地区。我该怎么做呢?对于具有单个枚举的属性,这适用:

@Html.DropDownListFor(model => model.Country, (IEnumerable<SelectListItem>)ViewBag.CountryList)

正确的国家/地区应该被选中。对于我的多国家/地区属性,这工作:

@for (int i = 0; i < 5; i++)
{
  @Html.DropDownListFor(model => model.Countries[i], (IEnumerable<SelectListItem>)ViewBag.CountryList)
}

也就是说,我得到了我的下拉列表,但这些国家/地区并没有像单个国家/地区的示例那样被选中。

在我的控制器中我有:

ViewBag.CountryList = new SelectList(Enum.GetValues(typeof(Country)));

有什么建议吗?我不是很擅长MVC。

1 个答案:

答案 0 :(得分:0)

你可以在MVC5中使用它:

@Html.EnumDropDownListFor(m => m.Country)