昨天下午钻了两个小时的牛角尖才悟出来,惭愧。一直以为一维数组可以绑定到dropdownlist,二维数组应该也可以,查了资料才明白数据源必须是实现 System.Collections.IEnumerable 接口(如 System.Data.DataView、System.Collections.ArrayList 和 System.Collections.Hashtable)的对象,不好使用数组. 所以要转换一下才能绑定,把二给数组转换为DataTable或者使用item.insert()方法添加; 把二组数组转换为DataTable进行绑定:DataTable dt = new DataTable("tbl"); dt.columns.add("0", Typeof(System.string)); dt.columns.add("1", Typeof(System.string)); DataRow row; for(int i=0; i< aa.length; i++) { row = dt.newrow(); row["0"] = aa[i,0]; row["1"] = aa[i,1]; dt.row.add(row); } DropDownList1.DataSource=dt; DropDownList1.DataTextField="0"; DropDownList1.DataValueField="1"; DropDownList1.DataBind(); 使用item.insert()方法添加: for(int j=0;j<aa.GetLength(0);j++) { ddl.Items.Add(new ListItem(aa[j,0],aa[j,1])); }