绑定Enum到DropDownList控件的方法

来源:互联网 发布:js e.target 获取属性 编辑:程序博客网 时间:2024/05/01 12:07

有时,需要将一个枚举类型绑定到DropDownList供用户选择,这主要是Enum.GetNames和Enum.GetValues的使用。

 

方法如下:

 

            dropdownlist.DataSource = Enum.GetNames(typeof(YourEnumType));

            dropdownlist.DataBind();

这样,可以直接将Enum绑定到DropDownList控件上,不过有个缺点是,DropDownList的value也是枚举的名称而不是枚举代表的数值,有时,我是需要枚举数值的,因为一般以数值方式存储到数据库。这时可以使用下面的方法:

 

            string[] names = Enum.GetNames(typeof(YourEnumType));

            int[] values = (int[])Enum.GetValues(typeof(YourEnumType));

            for (int i = 0; i < names.Length; i++)

            {

                dropdownlist.Items.Add(new ListItem(names[i], values[i].ToString()));

            }