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