ASP.NET MVC把数据库中枚举项的数字转换成文字(枚举类转json)太疯狂了

随心笔谈12个月前发布 admin
97 0

 public class EnumExt
{
/// <summary>
/// 获取枚举项的注释
/// </summary>
/// <param name=”e”>枚举项</param>
/// <returns></returns>
public static string GetEnumDescription(object e)
{
//获取枚举项
Type t=e.GetType();
//获取枚举项的字段
FieldInfo[] fis=t.GetFields();
foreach (FieldInfo fi in fis)
{
//如果当前字段名称不是当前枚举项
if (fi.Name !=e.ToString())
{
continue;//结束本次循环
}
//如果当前字段的包含自定义特性
if (fi.IsDefined(typeof (EnumDisplayNameAttribute), true))
{
//获取自定义特性的属性值
return (fi.GetCustomAttributes(typeof(EnumDisplayNameAttribute), true)[0] as EnumDisplayNameAttribute).DisplayName;
}
}
return e.ToString();
}
public static List<SelectListItem> GetSelectList(Type enumType)
{
List<SelectListItem> selectList=new List<SelectListItem>();
//selectList.Add(new SelectListItem{Text=”–请选择–“,Value=””});
foreach (object e in Enum.GetValues(enumType))
{
selectList.Add(new SelectListItem { Text=GetEnumDescription(e), Value=((int)e).ToString() });
}
return selectList;
}
}

© 版权声明

相关文章