代码如下:
/// <summary>
/// 将一个枚举转化成一个List<SelectListItem>
/// </summary>
/// <typeparam name="T"></typeparam>
/// <returns></returns>
public static IList<SelectListItem> EnumToSelectListItems<T>()
{
IList<SelectListItem> list = new List<SelectListItem>();
foreach (var e in System.Enum.GetValues(typeof(T)))
{
SelectListItem sli = new SelectListItem();
sli.Text = e.ToString();
sli.Value = ((int)e).ToString();
list.Add(sli);
}
return list;
}
有了这个静态方法,在view中创建一个dropdownlist:
@Html.DropDownListFor(m => m.province, EnumberHelper.EnumToSelectListItems<Province>())
注意m=>m.province,这里应该是实体模型,这个实体模型的类型可以是枚举类型Province 比较好。