如何将枚举类型作为数据源绑定在一个DROPDOWNLIST上,并指定用户可见枚举的真实值是名称

private  void  Page_Load(object  sender,  System.EventArgs  e)  
{  
           ListType();                                      
}  
private  void  ListType()  
{  
drpStatus.Items.Clear();  
drpStatus.DataSource=ListType();  
drpStatus.DataValueField="value";  
drpStatus.DataTextField="text";  
drpStatus.DataBind();  
}  
public  static  IList  ListType()  
{  
           ArrayList  list=new  ArrayList();  
           foreach(int  i  in  Enum.GetValues(typeof(EnumActivityType)))  
           {  
                       ListItem  listitem  =  new  ListItem(Enum.GetName(typeof(EnumActivityType),i),i.ToString());  
                       list.Add(listitem);  
           }  
           return  list;  
}  
public  enum  EnumActivityType  
{  
           Task                        =            344,  
           Fax                        =            345,  
           Phone                        =            346,  
           Email                        =            347,  
           Reminder            =            348,//Letter  
           Appointment            =            349,  
           Expiration            =            350,  
           Inquiry                        =            367  
}  
---------------------------------------------------------------  
 
把枚举值放进ArrayList  ,楼上正解  
---------------------------------------------------------------  
 
//*************前台  
<form  id="Form1"  method="post"  runat="server">  
           <asp:DropDownList  id="drpStatus"  style="Z-INDEX:  101;  LEFT:  248px;  POSITION:  absolute;  TOP:  72px"  runat="server"></asp:DropDownList>  
</form>  
//**************后台  
protected  System.Web.UI.WebControls.DropDownList  drpStatus;              
private  void  Page_Load(object  sender,  System.EventArgs  e)  
{  
           ListType();                                      
}  
private  void  ListType()  
{  
           drpStatus.Items.Clear();  
           drpStatus.DataSource=ListTypeForEnum();  
           drpStatus.DataValueField="value";  
           drpStatus.DataTextField="text";  
           drpStatus.DataBind();  
}  
public  static  IList  ListTypeForEnum()  
{  
           ArrayList  list=new  ArrayList();  
           foreach(int  i  in  Enum.GetValues(typeof(EnumActivityType)))  
           {  
                       ListItem  listitem  =  new  ListItem(Enum.GetName(typeof(EnumActivityType),i),i.ToString());  
                       list.Add(listitem);  
           }  
           return  list;  
}  
public  enum  EnumActivityType  
{  
           Task                        =            344,  
           Fax                        =            345,  
           Phone                        =            346,  
           Email                        =            347,  
           Reminder                              =            348,  
           Appointment            =            349,  
           Expiration            =            350,  
           Inquiry                        =            367  
}  
---------------------------------------------------------------  
 
foreach(string  ddlText  in  Enum.GetNames(typeof(EnumData.UserType)))  
{  
           ListItem  lit  =  new  ListItem();  
           lit.Value  =  ddlValue.ToString();  
           lit.Text  =  ddlText;              
           ddlValue++;  
           ddlType.Items.Add(lit);  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值