标签:style blog http color strong os
绑定数据出现这种情况,明明在第一项插入了一条数据,却始终在DropDownList中没有显示出来。
代码如下:
if (!IsPostBack) { //绑定城市 DataTable dtCity = new HighSearch().GetCitySelect(); DropDownList1.DataSource = dtCity; DropDownList1.DataValueField = "citycode"; DropDownList1.DataTextField = "cityname"; DataBind(); DropDownList1.Items.Insert(0, new ListItem("请选择城市", "")); DropDownList2.Items.Insert(0, new ListItem("请选择线路", "")); DropDownList3.Items.Insert(0, new ListItem("请选择站点", "")); //绑定项目 DataTable dtProject = new HighSearch().GetProjectSelect(); DropDownList4.DataSource = dtProject; DropDownList4.DataValueField = "projectname"; DropDownList4.DataTextField = "projectname"; DataBind(); DropDownList4.Items.Insert(0, new ListItem("请选择项目", "")); }
结果如下:
找了好久才找到原因,原因是DropDownList要先绑定完数据后再插入选项。
修改代码如下:
if (!IsPostBack) { //绑定项目 DataTable dtProject = new HighSearch().GetProjectSelect(); DropDownList4.DataSource = dtProject; DropDownList4.DataValueField = "projectname"; DropDownList4.DataTextField = "projectname"; DataBind(); //绑定城市 DataTable dtCity = new HighSearch().GetCitySelect(); DropDownList1.DataSource = dtCity; DropDownList1.DataValueField = "citycode"; DropDownList1.DataTextField = "cityname"; DataBind(); DropDownList1.Items.Insert(0, new ListItem("请选择城市", "")); DropDownList2.Items.Insert(0, new ListItem("请选择线路", "")); DropDownList3.Items.Insert(0, new ListItem("请选择站点", "")); DropDownList4.Items.Insert(0, new ListItem("请选择项目", "")); }
这个bug解决了。
一定要记住绑定多个数据的时候,要先把数据全部绑定完了,再插入第一项的数据。
【ASP.net控件】DropDownList数据绑定一个小bug,布布扣,bubuko.com
【ASP.net控件】DropDownList数据绑定一个小bug
标签:style blog http color strong os
原文地址:http://www.cnblogs.com/wangliu/p/3851675.html