我想在我的ViewModel上创建一个枚举属性的下拉列表。
我一直在搜索this和this等示例,他们使用枚举来显示表单中的select
和radiobuttons
控件。
我有这样的枚举
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
属性的情况下使用此助手吗?