Asp.net Core中的@ Html.EnumDropDownListFor

时间:2014-11-18 01:46:03

标签: asp.net-core asp.net-core-mvc

我在Asp.net 5 MVC6,vnext中移植了一个MVC5应用程序。 我找不到

@Html.EnumDropDownListFor()

是否已被弃用,是否有替代品? 哪里可以找到一些文件,找到所有这些微小的变化?

由于

4 个答案:

答案 0 :(得分:22)

对于仍在寻找答案的任何人,在ASP.NET 5中,使用DropDownListFor()结合GetEnumSelectList()方法获得EnumDropDownListFor()的功能。例如:

@model Enum
@Html.DropDownListFor(m => m, Html.GetEnumSelectList(Model.GetType()))

请注意,您可以使用自定义显示名称修饰枚举的每个值,例如包括空格。例如:

public enum CementTypes {
    [Display(Name = "Class S")]Class_S,
    [Display(Name = "Class N")]Class_N,
    [Display(Name = "Class R")]Class_R 
}

答案 1 :(得分:5)

只需使用asp-items="Html.GetEnumSelectList(typeof (State))"代码帮助

即可
<select asp-for="State" asp-items="Html.GetEnumSelectList(typeof (State))"></select>

答案 2 :(得分:2)

这是一项待处理功能。跟踪问题:https://github.com/aspnet/Mvc/issues/438

答案 3 :(得分:1)

@model Enum
@Html.DropDownListFor(m => m, Html.GetEnumSelectList(typeof(Enum)))