如何使用枚举或列表创建Lambda表达式?

时间:2018-07-04 10:56:32

标签: c# asp.net-mvc-5 html-helper

我想为我的模型创建自定义的HTML帮助器,该模型包含多个属性(50个标签,20个文本框,5个下拉列表,6个复选框...),其中某些类型为枚举:

这是我的枚举类别:

    public enum ClassType
    {
        variable1, 
        variable2,
        ...
    } 

这是包含Enum属性的模型:

 public class Test2Models
    { 
        [Required]
        [Display(Name = "SelectList")]
        public ClassType InitialValue2 { get; set; } 
        ...
    }

现在,我想创建一个自定义的HTML帮助器,在其中我将给出InitialValue2,并且希望他返回所有属性。

 public static MvcHtmlString Form<TModel, TValue>(this HtmlHelper<TModel> html, Expression<Func<TModel, TValue>> expression }
{
///
}

更清楚地说,我希望像这样自定义Html Helper的调用:

@html.form(it=>it.InitialValue2) 

结果和我想要的输入列表

能帮我吗?

1 个答案:

答案 0 :(得分:1)

看看Enum.GetValues(),您可以利用此方法来获取枚举类型的可用选项的列表