Populate SelectList in ASP.NET MVC with enum
本问题已经有最佳答案,请猛点这里访问。
我的数据层中有一个枚举,我想在我的网站项目中使用它的下拉列表。数据层中的枚举是:
1 2 3 4 5 6 7 8 9 10 11 12 | namespace SME.DAL.Entities.Enums { public enum EntityState { Open, Freezed, Canceled, Completed, Terminated, ReadOnly } } |
如何制作它的选择列表并在我的网站页面中使用它?我正在使用ASP.NET MVC 4。
简单例子:
控制器:
1 2 3 4 5 6 7 8 9 | public ViewResult SomeFilterAction() { var EntityState = new SelectList(Enum.GetValues(typeof(EntityState)).Cast<EntityState>().Select(v => new SelectListItem { Text = v.ToString(), Value = ((int)v).ToString() }).ToList(),"Value","Text"); return View(EntityState) } |
观点:
1 2 | @model System.Web.Mvc.SelectList @Html.DropDownList("selectedEntityState",Model) |
好吧,如果您使用的是MVC5.1,那么他们最近添加了一个助手来从枚举创建下拉列表。但是,由于您使用的是MVC4,因此必须将一些东西拼凑在一起。
这里有一些例子,如果你已经在这个网站上搜索过,这个问题已经被回答了很多次。
如何从ASP.NET MVC中的枚举创建DropDownList?