首页 > 代码库 > asp.net mvc 将Enum绑定在DropDownList了
asp.net mvc 将Enum绑定在DropDownList了
假设我们有一个enum:
public enum Role{ User = 0, Admin = 1024 }
我们想要实现如此效果:
因为enum本身并没有IEnumerable接口,所以不能直接使用new SelectList(Role);来将之填充DropDownList。
但是我们可以写一个静态方法将之转为IEnumerable。
public class EnumExt{ static public List<ListItem> ToListItem<T>(){ List<ListItem> li = new List<ListItem>(); foreach (int s in Enum.GetValues(typeof(T))){ li.Add(new ListItem{ Value = http://www.mamicode.com/s.ToString(), Text = Enum.GetName(typeof (T), s) } ); } return li; } }
View文件中我们加入以下helper:
<%=Html.DropDownList("enumlist") %>
然后我们在Controller的action中写如下绑定即可
public ActionResult Index()
{
ViewData["enumlist"] = new SelectList(EnumExt.ToListItem<Role>(),"value","text");
return View();
}
这样我们就可以实现将Enum绑定在DropDownList了
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。