Spesso capita (maggari in un cms) di dover fare il databind di una DropDownList partendo da un enumerator, inserendo nel testo il nome del valore e nel campo value il valore numerico effettivo. Con il codice seguente si può fare velocemente e senza dolori...
string[] enums = Enum.GetNames(typeof(MyEnum));
ListItem listItem;
for (int i = 0; i < enums.Length - 1; i++)
{
listItem = new ListItem(enums[i], Convert.ToInt32(Enum.Parse(typeof(MyEnum), enums[i])).ToString());
myDropDownList.Items.Add(listItem);
}
myDropDownList.DataBind();