绑定Enum到DropDownList控件的方法
有时,需要将一个枚举类型绑定到DropDownList供用户选择,这主要是Enum.GetNames和Enum.GetValues的使用。
方法如下:
dropdownlist.DataSource = Enum.GetNames(typeof(YourEnumType));
dropdownlist.DataBind();
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()));
}
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()));
}
中文的时候你可以这样写:
public enum A
{
壹,
贰,
叁
}
{
壹,
贰,
叁
}
你甚至可以这样写:
public enum 我的枚举
{
壹,
贰,
叁
}
{
壹,
贰,
叁
}