I\'m porting an MVC5 app in Asp.net Core. I cannot find
@Html.EnumDropDownListFor()
was it deprecated and is there a substitute? Is there any doc
This is a pending feature. Tracking issue: https://github.com/aspnet/Mvc/issues/438
For anyone who is still looking for an answer, in ASP.NET 5 the functionality of EnumDropDownListFor() is obtained using DropDownListFor() in combination with GetEnumSelectList() method. For example:
@model Enum
@Html.DropDownListFor(m => m, Html.GetEnumSelectList(Model.GetType()))
Note that you can decorate each value of the Enumeration with custom display names e.g. to include spaces. For instance:
public enum CementTypes {
[Display(Name = "Class S")]Class_S,
[Display(Name = "Class N")]Class_N,
[Display(Name = "Class R")]Class_R
}
simply use asp-items="Html.GetEnumSelectList(typeof (State))"
tag helper
<select asp-for="State" asp-items="Html.GetEnumSelectList(typeof (State))"></select>
Or
@model Enum
@Html.DropDownListFor(m => m, Html.GetEnumSelectList(typeof(Enum)))