带有Flags属性的枚举上的ASP.NET MVC 5.1 EnumHelper.EnumDropDownListFor

时间:2015-04-19 15:21:49

标签: c# asp.net enums asp.net-mvc-5.1

我想在我的ViewModel上创建一个枚举属性的下拉列表。

我一直在搜索thisthis等示例,他们使用枚举来显示表单中的selectradiobuttons控件。

我有这样的枚举

class MyViewModel 
{
    public JobCategory JobCategory {get; set;}
}

[Flags]
public enum JobCategory
{
    /// <summary>
    /// Ninguna
    /// </summary>
    [Display(Name = "N/A")]
    None = 0,

    /// <summary>
    /// Diseño Grafico
    /// </summary>
    [Display(Name = "Diseño Gráfico")]
    GraphicDesign = 1

    ...
}

表格

@model MyViewModel

<div class="col-xs-3">
        @(EnumHelper.IsValidForEnumHelper(Model.JobCategory.GetType())
        ? Html.EnumDropDownListFor(d => d.JobCategory, new { @class = "form-control" })
        : Html.EditorFor(d => d.JobCategory, new { @class = "form-control" }))
</div>

当我删除Flags属性时,方法EnumHelper.IsValidForEnumHelper(Model.JobCategory.GetType())会返回true 并显示select,否则返回false,表单会显示textbox

有人知道如何在不删除Flags属性的情况下使用此助手吗?

0 个答案:

没有答案