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

随心笔谈2年前发布 编辑
168 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;
}
}

© 版权声明

相关文章