我正在用@Html.EditorFor编辑我的模型(m =>模型....
我需要强制其中一个属性为Admin或user,
我可以在我的模型属性上添加什么属性来强制显示带有这两个选项的下拉框?
发布于 2012-09-05 13:17:49
为枚举创建以下扩展
public static class EnumExtensions
{
public static IEnumerable<SelectListItem> ToSelectListItems<TEnum>(this TEnum enumObj)
{
var values = from TEnum e in Enum.GetValues(typeof(TEnum))
select new SelectListItem() { Value = e.ToString(), Text = Enum.GetName(typeof(TEnum), e) };
return values;
}
}然后添加以下自定义编辑器模板(在Views/Shared/EditorTemplates下)
@model Enum
@Html.DropDownListFor(m => m, Model.ToSelectListItems())然后将您的属性设置为枚举,并将User和Administrator作为选项。
您还可以创建自定义属性来添加枚举值的显示名称(以处理空格等)。
https://stackoverflow.com/questions/12272033
复制相似问题