我想使用MVC中的枚举填充带有性别值的下拉列表,但是enum.getValues(typeof(...(不是返回值。这是.cshtml part:
<div class="form-group">
@Html.LabelFor(m => m.parGender, new { @class = "col-md-2 control-label" })
<div class="col-md-10">
@Html.DropDownListFor(m => m.parGender, new SelectList(Enum.GetValues(typeof(Gender))), new { @class = "form-control" })
</div>
</div>
这是一个模型:
[Required(ErrorMessage = "Select your gender!")]
[Display(Name = "Gender:")]
public Gender parGender { get; set; }
public enum Gender
{
Male,
Female
}
我想念什么?
您需要将结果施加到所需的实际数组类型
(Gender[])Enum.GetValues(typeof(Gender))
您必须施放它,然后选择正确的类型 - 我已将其用于Kendo下拉菜,不确定它是否完全相同:
Enum.GetValues(typeof(Gender)).Cast<Gender>().Select(at =>
new SelectListItem
{
Text = at.ToString(),
Value = ((int)at).ToString()
}
))