public enum SendInfoStateEnum
    {

    [Description("等待提交")]
        等待提交 = 1,

   [Description("等待审核")]
        等待审核 = 2,
        审核成功 = 3,
        审核失败 = 4,
        正在发送 = 5,

}

绑定枚举到dropdownlist方法如下:

调用如:BindEnumToDropdownList(typeof(SendInfoStateEnum), ddlSendState, new ListItem("--请选择--", "-1"), "-1");

重点是Enum.GetValues(enumType)、Enum.GetName(enumType, i) 2个方法。

/// <summary>/// 绑定枚举到dropdownlist/// </summary>/// <param name="enumType">枚举类型</param>/// <param name="ddl">dropdownlist</param>/// <param name="li">初始化第一个选项,可为null</param>/// <param name="selectValue">选中项的值</param>public static void BindEnumToDropdownList(Type enumType, DropDownList ddl, ListItem firstItem, string selectValue){ddl.Items.Clear();if (firstItem != null){ddl.Items.Add(firstItem);}foreach (int i in Enum.GetValues(enumType)){ListItem li2 = new ListItem(Enum.GetName(enumType, i), i.ToString());if (li2.Value.Equals(selectValue)){li2.Selected = true;}ddl.Items.Add(li2);}}

获取枚举值的描述标签方法:

调用如:GetDescriptionByName(SendInfoStateEnum.等待提交);

/// <summary>/// get enum description by name/// </summary>/// <typeparam name="T">enum type</typeparam>/// <param name="enumItemName">the enum name</param>/// <returns>description string</returns>public static string GetDescriptionByName<T>(this T enumItemName){FieldInfo fi = enumItemName.GetType().GetField(enumItemName.ToString());DescriptionAttribute[] attributes = (DescriptionAttribute[])fi.GetCustomAttributes(typeof(DescriptionAttribute), false);if (attributes != null && attributes.Length > 0){return attributes[0].Description;}else{return enumItemName.ToString();}}

枚举操作的常用方法,包括获得枚举的value,name,description相关推荐

  1. Java基础学习——Java网络编程(三)自定义枚举类、枚举类的常用方法、枚举类实现接口、枚举类的实际应用

    一.什么是枚举 枚举法:一枚一枚的列举出来,列举的元素是有限的.确定的. 例如:星期(一.二.三.四.五.六.日).性别(男.女).季节(春.夏.秋.冬) 在Java中的关键字为enum 二.枚举类的 ...

  2. 集合已修改;可能无法执行枚举操作。

    问题描述:在用foreach遍历hashtable的时候,弹出"集合已修改:可能无法执行枚举操作." 问题代码: private void Check(int TimeOut)   ...

  3. ios 获取一个枚举的所有值_Java enum枚举在实际项目中的常用方法

    在项目实际开发过程中,经常会遇到对某些固定的值.字典项的定义的需求,很多项目经常使用常量来定义,其实在jdk1.5就已经引入了枚举,使用枚举可以更好的解决这类需求,本文主要记录枚举的优势以及经常在项 ...

  4. 错误信息: 集合已修改;可能无法执行枚举操作。

    错误信息:     集合已修改:可能无法执行枚举操作. 调用堆栈: 在 System.ThrowHelper.ThrowInvalidOperationException(ExceptionResou ...

  5. 枚举类——概述、常用方法、自定义枚举类、Enum创建枚举类

    一.枚举类的概述 1.枚举类的理解:类的对象只有有限个,确定的.我们称此类为枚举类 2.当需要定义一组常量时,强烈建议使用枚举类 3.如果枚举类中只一个对象,则可以作为单例模式的实现方式. 二.枚举类 ...

  6. 怎么回事儿?C#错误:集合已修改;枚举操作可能无法执行。

    本意是遍历表的行,当行中"主键"列为""时,将该行从表中删除.执行时就出现了"集合已修改:枚举操作可能无法执行."的c#错误提示.c#错误代 ...

  7. java实体类中有枚举类型_实体类的枚举属性--原来支持枚举类型这么简单,没有EF5.0也可以...

    通常,我们都是在业务层和界面层使用枚举类型,这能够为我们编程带来便利,但在数据访问层,不使用枚举类型,因为很多数据库都不支持,比如我们现在用的SqlServer2008就不支持枚举类型的列,用的时候也 ...

  8. java枚举注释_【Java】枚举类和注解

    一.枚举类的使用 1. 枚举类的说明: 枚举类的理解:类的对象只有有限个,确定的.我们称此类为枚举类 当需要定义一组常量时,强烈建议使用枚举类 枚举类的实现: JDK 5.0以前需要自定义 JDK 5 ...

  9. java枚举类及面试题为什么枚举实现单例模式是安全的?

    目录 枚举类 为什么会有枚举类? 枚举类的使用 枚举类的常用方法 枚举的构造 枚举类型能被反射吗? 为什么枚举实现单例模式是安全的? 枚举类的优缺点 枚举类 为什么会有枚举类? 假如说程序中有一些颜色 ...

最新文章

  1. PHP和java比较
  2. 自己动手实现OpenGL-OpenGL原来如此简单(二)
  3. Linux使用退格键(Backspace键)时出现^H 解决方法
  4. pthread_cleanup_push
  5. 第 20 课时:GPU 管理和 Device Plugin 工作机制(车漾)
  6. 双清模式无命令_linux性能监控:IO性能监控命令之iotop命令
  7. 陌陌估值1亿美元:一个用户10美元,贵吗?
  8. SQL-server 如何与 visual studio 建立连接
  9. The peopleware papers
  10. gcc和arm-linux-gcc区别
  11. 具体问题具体分析 之 QA票
  12. 相控阵天线方位角俯仰角matlab画图,理解相控阵天线的方向图
  13. 李铁被传下课之际,梅西却要七拿金球奖了?这波预测没毛病
  14. 服务器与操作系统的区别是什么,服务器系统和普通用户操作系统有何区别
  15. 《28岁未成年》感悟——永远不要失去自我
  16. 支付宝 app接口对接流程上
  17. 利用 Openai Gpt-3 实现下一代自动化测试
  18. lesson 21 mad or not 是不是疯了-把什么逼疯,be driving sb mad,live near 住在什么附近,过去将来时的被动式 will be done
  19. 安卓机器人做图软件_绘画机器人andy下载-美图秀秀绘画机器人下载v7.0.0.0 安卓版-西西软件下载...
  20. 基于龙芯+国产FPGA 的VPX以太网交换板设计(二)

热门文章

  1. Could not write file: C:\......\.classpath
  2. ORA-12519, TNS:no appropriate service handler found
  3. OpenCV+yolov3实现目标检测(C++,Python)
  4. 分布式离线计算—Spark—SparkStreaming
  5. kotlin集合操作符——顺序操作符
  6. 很好的PHP分页类(调试过)
  7. JSONObject和JSONArray的关系
  8. 使用ultramon调整任务栏高度
  9. 用putty中的pscp命令拷贝文件
  10. git 创建 本地 裸 仓库