C#.NET MVC 枚举转dictionary自动装载生成下拉框
2024-08-31 04:05:51
/// <summary>
/// 枚举转SelectListItem
/// </summary>
public class Enum_Helper
{
/// <summary>
/// 枚举转字典集合
/// </summary>
/// <typeparam name="T">枚举类名称</typeparam>
/// <param name="keyDefault">默认key值</param>
/// <param name="valueDefault">默认value值</param>
/// <returns>返回生成的字典集合</returns>
public static List<SelectListItem> GetSelectListItem<T>(object keyDefault)
{ List<SelectListItem> dicEnum = new List<SelectListItem>();
Type enumType = typeof(T);
if (!enumType.IsEnum)
return dicEnum; string[] fieldstrs = Enum.GetNames(enumType); //获取枚举字段数组
foreach (var item in fieldstrs)
{
string description = string.Empty;
var field = enumType.GetField(item);
object[] arr = field.GetCustomAttributes(typeof(DescriptionAttribute), true); //获取属性字段数组
if (arr != null && arr.Length > )
description = ((DescriptionAttribute)arr[]).Description; //属性描述
else
description = item; //描述不存在取字段名称 //判断是否添加默认选项
if (keyDefault != null && keyDefault.Equals(Enum.Parse(enumType, item)))
{ dicEnum.Add(new SelectListItem() { Text = description, Selected = true, Value = Enum.Parse(enumType, item).ToString() });
}
else
{
dicEnum.Add(new SelectListItem() { Text = description, Value = Enum.Parse(enumType, item).ToString() });
} }
return dicEnum;
} } 调用 Enum_Helper.GetSelectListItem<HealthLederses.Auditing>(input.HealthLedersAuditDto.Status);
更多例子参考:http://blog.csdn.net/shuizhaoshui/article/details/51412762
最新文章
- FlashBuilder项目环境配置
- (分享)java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明)
- Unity Networking API文档翻译(一):Networking概述
- oracle表空间建立与用户创建删除
- serialVersionUID作用
- 错误 ;4 ;自定义工具错误: ;无法生成服务引用“DepartMentService”的代码。请检查其他错
- Python 爬虫 NewCnblogs (爬虫-Django-数据分析)
- laravel自定义门面
- Marriage Match IV HDU - 3416(最短路 + 最大流)
- 上海市2019年公务员录用考试第一轮首批面试名单(A类)
- MMON进程手工启动
- (12)We should aim for perfection — and stop fearing failure
- Thunder团队Final版爱阅app发布视频
- django-auth组件的注册,登录,登出,及验证是否已经登入。使用login的属性
- JAVA并发编程学习笔记------结构化并发应用程序
- git add -A和git add . 的区别
- PS1修改xshell命令行样式
- jmeter 历史版本下载
- uva_11806_Cheerleaders
- 可视化自编码器训练结果&;稀疏自编码器符号一览表
热门文章
- Python3求m以内的素数、求m个数中最小的n个数
- Delphi中的三目运算函数有哪些?(XE10.2+WIN764)
- struts工作原理不错的解释___
- springboot 使用c3p0数据库连接池
- Android MediaScanner 总纲
- hbase的写和读,大合并和小合并
- 多平台的网站实现单点登录系统(SSO)的开发思路 让你的会员中心更加统一(参考资料)
- 腾讯云CentOS升级JDK1.8
- linux 重定向 标准错误与标准输出到同一文件
- Java编程的逻辑 (74) - 并发容器 - ConcurrentHashMap