有时,需要将一个枚举类型绑定到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
我的枚举
{
壹,
贰,
叁
}
{
壹,
贰,
叁
}