使用Enum for databasefirst mvc中的dropdownlist

时间:2017-12-12 11:15:27

标签: asp.net-mvc asp.net-mvc-4 enums type-conversion database-first

我在Model(tablaMetadata)中有一个字段,其中包含性别的boolian字段,如下所示: (我使用数据库第一MVC)

 [DisplayName("gender")]
 [Display(Name = "gender")]
 public Nullable<bool> EmpSex { get; set; }

我希望通过dropdownlist从EmpSex获得“男性”或“女性”的价值,然后将其转换为布尔值(用于将表单发布到数据库)。 我将Enum定义如下:

public enum gender
{
    Male=1,
    Female=0
}

我不知道如何将htmlhelper用于Enumdropdownlist并将dropdownlist的字符串值转换为boolean。 你能帮我定一下Enum的下拉列表并转换值吗?

1 个答案:

答案 0 :(得分:1)

在您的视图中,您可以像这样创建下拉列表

enum这样创建列表

@{ 
    var genderList = Enum.GetValues(typeof(Gender)).OfType<Gender>().Select(m => new { Text = m.ToString(), Value = (int)m }).ToList(); 
}

并像这样创建DropDown

@Html.DropDownList("EmpSex", new SelectList(genderList, "Value", "Text", Model.EmpSex))

@Html.DropDownListFor(model => model.EmpSex, new SelectList(genderList, "Value", "Text", Model.EmpSex))