使用枚举在ASP.NET MVC中填充SelectList

时间:2014-02-07 08:43:46

标签: asp.net asp.net-mvc enums selectlist

我的数据层中有一个枚举,我想在我的网站项目中使用它的下拉列表。 我在数据层中的枚举是:

namespace SME.DAL.Entities.Enums
{
    public enum EntityState
    {
        Open,
        Freezed,
        Canceled,
        Completed,
        Terminated,
        ReadOnly
    }
}

如何制作选择列表并在我的网站页面中使用它? 我正在使用ASP.NET MVC 4。

2 个答案:

答案 0 :(得分:17)

简单示例:

控制器:

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)
}

查看:

  @model System.Web.Mvc.SelectList
  @Html.DropDownList("selectedEntityState",Model)

答案 1 :(得分:2)

好吧,如果您使用的是MVC 5.1,他们最近添加了一个助手来创建Enums的下拉列表。但是,由于您使用的是MVC 4,因此必须同时进行攻击。

有一些例子,如果您搜索过,这个网站已经多次回答过。

How do you create a dropdownlist from an enum in ASP.NET MVC?