public static List < ListItem > GetEnumList(Type enumType, bool allAllOption) { if (enumType.IsEnum == false) { return null; } List<ListItem> list = new List<ListItem>(); if (allAllOption == true) { list.Add(new ListItem("--全部--", "")); } Type typeDescription = typeof(DescriptionAttribute); System.Reflection.FieldInfo[] fields = enumType.GetFields(); string strText = string.Empty; string strValue = string.Empty; foreach (FieldInfo field in fields) { if (field.IsSpecialName) continue; strValue = field.GetRawConstantValue().ToString(); object[] arr = field.GetCustomAttributes(typeDescription, true); if (arr.Length > 0) { strText = (arr[0] as DescriptionAttribute).Description; } else { strText = field.Name; } list.Add(new ListItem(strText, strValue)); } return list; } /**/ /// </summary> /// 派驻申请的状态 /// </summary> public enum AccreditStatus { /**//// <summary> /// 已经结束 /// </summary> [Description("结束")] Pass = 2, /**//// <summary> /// 新建 /// </summary> [Description("新建")] New = 0, /**//// <summary> /// 在审批中 /// </summary> [Description("审批中")] Running = 1, /**//// <summary> /// 被拒绝 /// </summary> [Description("被拒绝")] Refuse = -1 } this.ddlState.DataSource = Global.GetEnumList(typeof(AccreditStatus), true); this.ddlState.DataTextField = "Text"; this.ddlState.DataValueField = "Value"; this.ddlState.DataBind(); 转载于:https://www.cnblogs.com/tongdengquan/archive/2012/08/28/6090533.html