asp.core页面razor枚举下拉列表

Yan*_*Btd 2 c# asp.net-core-mvc asp.net-core

我将Asp.Core 2.1与“ Page Razor Crud”一起使用,并且希望在我的页面中显示一个下拉列表。

这是我的模型:

public enum EnumStatus
    {
        Waiting,
        [Display(Name = "Development progress")]
        Progress,
        Canceled,
        Refused,
        Deployed,
    }
    public class Improvement
    {
        [Key]
        public int ID { get; set; }

        public string Title { get; set; }

        [DataType(DataType.Text)]
        public string Description { get; set; }

        public EnumStatus Status { get; set; }
    }
Run Code Online (Sandbox Code Playgroud)

CRUD Razor页面生成了以下行:

<select asp-for="Improvement.Status" class="form-control"></select>
Run Code Online (Sandbox Code Playgroud)

但它是空的。经过研究,我发现我需要添加asp项目。但是在这一点上,我测试过的所有解决方案都失败了。

最好的祝福,

Ehs*_*jad 5

在视图中尝试以下代码:

<select asp-for="Status" 
        asp-items="Html.GetEnumSelectList<EnumStatus>()" 
        class="form-control>
    <option selected="selected" value="">Please select</option>
</select>
Run Code Online (Sandbox Code Playgroud)

Status是您的Improvement模型类的属性,而这EnumStatus是您的枚举类型的名称。