首页 > 代码库 > 【ASP.net控件】DropDownList数据绑定一个小bug
【ASP.net控件】DropDownList数据绑定一个小bug
绑定数据出现这种情况,明明在第一项插入了一条数据,却始终在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解决了。
一定要记住绑定多个数据的时候,要先把数据全部绑定完了,再插入第一项的数据。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。