Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用枚举值作为dropdownlist ASPCore中的值_C#_Asp.net Core_Enums - Fatal编程技术网

C# 使用枚举值作为dropdownlist ASPCore中的值

C# 使用枚举值作为dropdownlist ASPCore中的值,c#,asp.net-core,enums,C#,Asp.net Core,Enums,我正在尝试使用我以前在代码中声明的枚举中的值 以下是枚举: public enum CompanyStatus { WaitingForApproval = 1, Approved = 2, Disapproved = 3 } 下面是我试图使用已声明Id的选择列表 <select id="CompanyStatusFilter" validateme="true" class="form-control fullWidth" placeholder="Status

我正在尝试使用我以前在代码中声明的枚举中的值

以下是枚举:

public enum CompanyStatus
{
    WaitingForApproval = 1,
    Approved = 2,
    Disapproved = 3
}
下面是我试图使用已声明Id的选择列表

<select id="CompanyStatusFilter" validateme="true" class="form-control fullWidth" placeholder="Status" data-validation="length alphanumeric" data-validation-length="min1">
                            <option value=""></option>
                            <option value="(int)Core.Engine.CompanyStatus.Approved">Approved</option>
                            <option value="@Html.GetEnumSelectList<CompanyStatus>">Waiting for approval</option>                                
                        </select>

经核准的
等待批准
我不想显式地键入id作为值。
提前感谢

您可以使用
GetEnumSelectList
为枚举值呈现选择

<select name="CompanyStatus" asp-items="Html.GetEnumSelectList(typeof (CompanyStatus))">
</select>


我可以通过将枚举转换为Int32来获取它的id

<option value="@Convert.ToInt32(Core.Engine.CompanyStatus.WaitingForApproval)">Waiting for approval</option>
等待批准

IMHO如果您对枚举使用帮助器会更好,例如:

@Html.DropDownListFor(m => m, Html.GetEnumSelectList(Model.GetType()))
在枚举值上,您可以使用
[Display(Name=“Test 1”)]
属性来控制显示的内容