这个问题困扰了很长一段时间,习惯了将DataTable、数组、集合绑定,拿到一个HashTable(包含键值对)却觉得无从下手。百度了一下,发现解决办法还是挺多的,总结后有以下几点:
(1)将HashTable数据源输出成一个数组,将该数组绑定;
(2)直接绑定,但是要指定DropDownList的Text和Value分别为HashTable的Key和Value。
例如:
Hashtable ht = new Hashtable();
for(int i=0; i<10; i++)
{
ht.Add(i+1,"Item"+1);
}
this.DropDownList1.DataSource = ht;
this.DropDownList1.DataTextField = "key";
this.DropDownList1.DataValueField = "value";
this.DropDownList1.DataBind();
关于DataList与HashTable数据绑定其实也挺简单,只需将HashTable的Key或者Value与控件绑定即可,例如:
Hashtable ht = new Hashtable(); //对ht赋值
this.DataList1.DataSource = ht.Values;
this.DataList1.DataBind();