DropDownList 绑定 枚举 Enum

 

    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[0as 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/DotNet1010/p/1154065.html