[ASP.NET] 将数据绑定到DropDownlist中的常见问题
-
如何为dropdownlist设定默认选中项
DropDownList1为DrowDownList的id,productType为选项内容
DropDownList1.SelectedIndex = DropDownList1.Items.IndexOf(DropDownList1.Items.FindByText(productType));
如何为dropdownlist绑定数据
以下内容引用自 http://www.2cto.com/os/201504/395460.html ,使用ArrayList的时候应该是要有key和value,不然会报错。
- 第一种,把Array数组绑到dropdownlist
程序代码123string[] Month =newstring[7]{"January","February","March","April","May","June","July"};this.DropDownList1.DataSource = Month;this.DropDownList1.DataBind();
第一种方法只可以绑定一组数据到dropdownlist,因为drawdonwlist可以绑定两种数据1是DataTextField
2是DataValueField 所以第一种方法绑定后DataTextField的值==DataTextField值
第二种,把Array数组绑定到dropdownlist
程序代码123456789ArrayList ar =newArrayList();for(inti =1; i <=12; i++){ar.Add(i+"月");}this.DropDownList2.DataSource = ar;this.DropDownList2.DataBind();
直观一点的写法。
程序代码
123456789ArrayList ar =newArrayList();ar.Add("1月");ar.Add("2月");ar.Add("3月");ar.Add("4月");..................................................this.DropDownList2.DataSource = ar;this.DropDownList2.DataBind();
第2种方法的好处是通过ArrayList.Add的方法,可以实现动态添加元素的功能,比方说,有一个DataTable,我们要把DataTable中一行的数据读出来添加到Arraylist当中。
看我以下的示的代码
程序代码
123456789ArrayList ar =newArrayList();DataTable dt=dataset.Tables[0]foreach (DataRow dr in dt.Rows){ar.Add(dr[0].ToString());}
以上代码从一个DataTable中通过foreach语句循环读取Table中一行数据中第一个格的值添加到ArrayList当中。
第三种方法,将Hashtable绑定到Dropdownlist当中Hashtable的方法的好处是,它也可以绑定两种数据一个是"key,一个是"value",这样的话,我们就可以为dropdonwlist绑定上两种不同的数据了。
程序代码123456789101112Hashtable Ht =newHashtable();Ht.Add("January","1月");Ht.Add("February","2月");Ht.Add("March","3月");Ht.Add("April","4月");Ht.Add("May","5月");Ht.Add("June","6月");Ht.Add("July","7月");this.DropDownList3.DataSource = Ht;this.DropDownList3.DataValueField ="key";this.DropDownList3.DataTextField ="value";this.DropDownList3.DataBind();
第4种,把Object对象绑定到dropdownlist
首先新增一个类,结构如下
程序代码123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354publicclassClassMonth{privatestring _MonthEN = DateTime.Now.ToString("MMMM",System.Globalization.CultureInfo.CreateSpecificCulture("en"));privatestring _MonthCN = DateTime.Now.ToString("MMMM", System.Globalization.CultureInfo.CreateSpecificCulture("zh-CN"));publicClassMonth(){MonthCN = DateTime.Now.ToString("MMMM", System.Globalization.CultureInfo.CreateSpecificCulture("zh-CN"));MonthEN = DateTime.Now.ToString("MMMM", System.Globalization.CultureInfo.CreateSpecificCulture("en"));}publicClassMonth(string cn,string en){MonthCN = cn;//导入变量为属性赋值MonthEN = en;//导入变量为属性赋值}publicstring MonthEN//构造属性{get{return_MonthEN;}set{_MonthEN = value;}}publicstring MonthCN//构造属性{get{return_MonthCN;}set{_MonthCN = value;}}}
绑定方法
程序代码
1234567891011ArrayList arlist=newArrayList();arlist.Add(newClassMonth("1月","January"));arlist.Add(newClassMonth("2月","February"));arlist.Add(newClassMonth("3月","March"));arlist.Add(newClassMonth("4月","April"));arlist.Add(newClassMonth("5月","May"));this.DropDownList4.DataSource = arlist;this.DropDownList4.DataValueField ="MonthEN";this.DropDownList4.DataTextField ="MonthCN";this.DropDownList4.DataBind();

浙公网安备 33010602011771号