码迷,mamicode.com
首页 > Web开发 > 详细

asp.net mvc 将Enum绑定在DropDownList了

时间:2014-05-01 14:48:25      阅读:383      评论:0      收藏:0      [点我收藏+]

标签:blog   class   tar   ext   width   get   int   string   文件   html   cti   

假设我们有一个enum:

public enum Role{ User = 0, Admin = 1024 }

我们想要实现如此效果:

mamicode.com,码迷

因为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 = 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了

asp.net mvc 将Enum绑定在DropDownList了,码迷,mamicode.com

asp.net mvc 将Enum绑定在DropDownList了

标签:blog   class   tar   ext   width   get   int   string   文件   html   cti   

原文地址:http://www.cnblogs.com/sanfen/p/3700843.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!