用枚举填充ASP.NET MVC中的选择列表



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

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

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

简单示例:

控制器:

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)

好吧,如果您使用的是MVC 5.1,他们最近添加了一个助手来创建枚举的下拉列表。但是,由于您使用的是MVC 4,您将不得不一起入侵。

那里有一些示例,如果您搜索了它,则在此网站上已经多次回答。

如何从ASP.NET MVC中的枚举创建下拉列表?

最新更新