資料來源:http://www.codeproject.com/Tips/303564/Binding-DropDownList-Using-List-Collection-Enum-an
Binding DropDownList with List
In this case, the DropDownList both 'Value' and 'Text' field are same.
DropDownList ddl = new DropDownList();
List countries = new List();
countries.Add("USA");
countries.Add("India");
ddl.DataSource = countries;
ddl.DataBind();
Binding DropDownList with Dictionary
Dictionary States = new Dictionary();
States.Add("-1","-Select State-");
States.Add("AP", "Andhra Predesh");
States.Add("KA", "Karnataka");
States.Add("TN", "Tamilnadu");
States.Add("KL", "Kerala");
ddl.DataSource = States;
ddl.DataValueField = "Key";
ddl.DataTextField = "Value";
ddl.DataBind();
Binding DropDownList with DataSet
My DataSet contains a Class table(class_id,class_name,description).
ddl.DataSource = dataset.Tables[0].DefaultView;
ddl.DataValueField = "class_id";
ddl.DataTextField = "class_name";
ddl.DataBind();
ListItem item = new ListItem("-Select Class-", "-1");
ddl.Items.Insert(0, item);
Binding DropDownList with Enum
Let’s take Countries ‘enum’ as follows:
enum enCountries:int{India=0,USA,UK,UAE};
Let's see how to bind the DropDownList With Enum:
ddlEnumBind.Items.Add("--Select Country--");
//get enum items to get the respective enum value
string[] enumNames=Enum.GetNames(typeof(enCountries));
foreach (string item in enumNames)
{
//get the enum item value
int value = (int)Enum.Parse(typeof(enCountries), item);
ListItem listItem = new ListItem(item, value.ToString());
ddlEnumBind.Items.Add(listItem);
}