Asp.net Mvc Enum 扩展
2011-09-20 17:31
232 查看
一直以来都觉得enum、struct以及class是编程的基础结构。
我们通常意图用枚举来表示一些名称的值属性。有的时候用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 = 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 扩展
相关文章推荐
- Asp.net Mvc Enum 扩展
- Asp.net Mvc Enum 扩展
- Asp.net MVC 的八个扩展点
- ASP.NET MVC 4 (四) 控制器扩展
- dhl: 在 ASP.NET MVC 中创建自定义 HtmlHelper 使用扩展方法创建 HTML Helper
- Asp.net Mvc Framework 十二 Castle扩展
- Asp.net MVC Fckeditor的扩展(支持PV3及自动绑定)
- 扩展 ASP.NET MVC 模型扩展 – ASP.NET MVC 4 系列
- asp.net mvc HtmlHelperExt EnumDropDownList
- 转载:ASP.NET MVC扩展自定义视图引擎支持多模板&动态换肤skins机制
- Asp.net MVC Preview 4 中自定义Jquery的HtmlHelper扩展
- ASP.NET MVC 2扩展点之Model Binder实例分析
- asp.net mvc htmlhelper 扩展方法
- ASP.NET MVC DropDownList扩展,实现foreach@Html.DropDownListFor(p=>p.Type,p.Type,TypeItem)
- 在ASP.NET MVC下扩展一个带验证的RadioButtonList
- 26、ASP.NET MVC入门到精通——后台管理区域及分离、Js压缩、css、jquery扩展
- 为ASP.NET MVC扩展异步Action功能(下)
- 13个不可不知的ASP.NET MVC扩展点
- Asp.Net MVC中Html.TextBox扩展,其行为也许不是你期望的
- Asp.NET MVC Widget开发 - Html.Widget扩展方法