I have an enumeration in my Data layer and I want to use its drop down list in my website project. My enum in Data layer is:

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

How can I make its select list and use it in my website's page? I'm using ASP.NET MVC 4.

有帮助吗?

解决方案

Simple example:

Controller:

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

View:

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

其他提示

Well, if you were using MVC 5.1, they recently added a helper to create dropdowns from Enums. However, since you're using MVC 4 you will have to hack something together.

There are some examples out there, and this has been answered many times already on this site if you had searched for it.

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top