【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解决了。

  一定要记住绑定多个数据的时候,要先把数据全部绑定完了,再插入第一项的数据。

【ASP.net控件】DropDownList数据绑定一个小bug,布布扣,bubuko.com

时间: 2024-08-03 15:13:41

【ASP.net控件】DropDownList数据绑定一个小bug的相关文章

DEV中的TreeList控件应用的一个小效果实现【转载】

我使用最多的DEV控件就是这个TreeList啦,当然用好它很不简单,如果用好它,能做出很精彩的树形层次结构图.TreeList控件很强大,以至于你看DEV自带的DEMO,也得浪费你很长时间应用.DEV控件的DEMO只是告诉你有些什么功能,只是抛砖引玉,决不能照搬DEMO! 用好TreeList控件绝对会让你的软件锦上添花!精益求精促使我总想用TreeList实现出更好的效果,但对TreeList控件的每一步深入学习,都需要花费不要时间和精力.现在记录一下我学习使用该控件的一个小功能的过程. 就

DEV中的TreeList控件应用的一个小效果实现——个人总结

我使用最多的DEV控件就是这个TreeList啦,当然用好它很不简单,如果用好它,能做出很精彩的树形层次结构图.TreeList控件很强大,以至于你看DEV自带的DEMO,也得浪费你很长时间应用.DEV控件的DEMO只是告诉你有些什么功能,只是抛砖引玉,决不能照搬DEMO! 用好TreeList控件绝对会让你的软件锦上添花!精益求精促使我总想用TreeList实现出更好的效果,但对TreeList控件的每一步深入学习,都需要花费不要时间和精力.现在记录一下我学习使用该控件的一个小功能的过程. 就

WPF 控件事件的一个小坑…

最近想判断一下 Slider 是由鼠标点击而改变值,还是由程序内部代码改变的值,发现鼠标的各种事件比如 MouseDown.MouseUp.MouseLeftButtonDown 什么的,都没有任何反应,很是无奈- 搜索了一下,发现 WPF 中的有些控件,会将一些事件自己给 Handled,导致我们之间添加事件无效... 不过可以通过在父元素上调用 AddHandler 方法,来为子元素添加事件. 这个方法有两个重载,这里最主要的是要用到这个重载的参数: public void AddHandl

介绍一个免费的具备数据显示/录入/更新/删除功能的asp.net控件

我不能说它比datagrid更强, 因为datagrid有很多深层次的东西可以发掘,但是我能说它比datagrid更易用,更实用,因为它已经轻松实现如下功能,同时,它是完全免费的,不需要注册,没有任何的功能限制. 1. 通过属性设置数据表的显示 2. 客户端数据排序 3. 各种字段类型的格式化显示 4. 所有数据表轻松实现内置的数据添加.更新.删除功能 5. 提供密码字段的支持并使用32位MD5编码 6. 添加.更新图象字段.链接文件字段时自动上传文件 7. 上传图片时可以自动生成缩略图 8.

ASP.NETserver控件使用之Reportviewer 报表

1.       Reportviewer 报表 1.1.       Reportviewer控件 注:本教程附2个事例: l  演练:在本地处理模式下将数据库数据源与 ReportViewer Web server控件一起使用 l  演练:在本地处理模式下将业务对象数据源与 ReportViewer Web server控件一起使用 假设您已经对ReportViewer控件基础知识比較了解,能够直接參阅事例. 1.1.1.                 简单介绍 Microsoft Vis

Repeater控件使用中的一些小问题

网页上用来展示列表的数据,发现还是Repeater比GridView,DetailView之类的要灵活些,所以近期用到了就总结下遇到的一些情况,保留下来以备之后查阅,不用现问度娘了... 自己摸索的,很可能有不正确的地方,望前辈指正. 1. Repeater控件绑定可以是数组,比如某个类的实例数组 1 //前台代码 2 <asp:Repeater ID="repeater" runat="server" 3 onitemcommand="repeat

ASP.NET控件属性大全

ASP.NET控件属性大全 DataGridView 控件DataGridView 控件提供用来显示数据的可自定义表.使用 DataGridView 类,可以自定义单元格.行.列和边框. 注意DataGridView 控件提供 DataGrid 控件所不具备的许多基本和高级功能.有关更多信息,请参见 Windows 窗体 DataGridView 控件和 DataGrid 控件之间的区别 常用属性:DefaultCellStyle.ColumnHeadersDefaultCellStyle.Ce

Asp.net--GridView控件--(1)高亮显示当前所在行,(2)高亮显示单击行,(3)绑定数据库数据,(4)分页,(5)导出到excel表格,(6)首列插入序号

//本页代码中的DB类及方法在http://www.cnblogs.com/Deerjiadelu/p/7252769.html中能查询到 (1)Asp.net--GridView控件--高亮显示当前所在行 protected void gvquery_DataBound(object sender, GridViewRowEventArgs e) { //高亮显示光标所在行 if (e.Row.RowType == DataControlRowType.DataRow)//判断当前行是不是数据

WP8.1学习系列(第二十三章)——到控件的数据绑定

在本文中 先决条件 将控件绑定到单个项目 将控件绑定到对象的集合 通过使用数据模板显示控件中的项目 添加详细信息视图 转换数据以在控件中显示 相关主题 本主题介绍了如何在使用 C++.C# 或 Visual Basic 的 Windows 应用商店应用中将控件绑定到单个项或将列表控件绑定到项目集合.此外,本主题向你介绍了如何自定义控件项目的显示.如何基于所选内容实现详细信息视图,以及如何转换数据以进行显示.有关更多详细信息,请参阅使用 XAML 进行数据绑定. 路线图: 本主题与其他主题有何关联