如何从ASP.NET MVC属性中获取枚举值?

mmc*_*ynn 5 c# asp.net-mvc enums

在我的ViewModel中,我有一个属性,可以为我的表单的下拉菜单创建一个枚举.

public enum Colors
    {
    [Description("Dark Red")]
    DarkRed = 0,
    [Description("Orange")]
    Orange = 1,
    [Description("Blue")]
    Blue = 2
    }
Run Code Online (Sandbox Code Playgroud)

我的助手回归:

<select id="ddlColor">
    <option value="DarkRed">Dark Red</option>
    <option value="Orange">Orange</option>
    <option value="Blue">Blue</option>
</select>
Run Code Online (Sandbox Code Playgroud)

但是,当我在模型中调用属性时,我只获取名称而不是值,例如DarkRed而不是0.

model.Selections = InsertForm(model.Color);
Run Code Online (Sandbox Code Playgroud)

如何在我的模型引用中转换它,以便从枚举中获取

Rah*_*thi 6

您可能必须像这样抛出值: -

var value = (int)model.Color;
Run Code Online (Sandbox Code Playgroud)

注意:-

所有枚举类型都有一个基础类型,除了char之外,它可以是任何整数类型.