首页 > 解决方案 > 下拉列表绑定问题

问题描述

您好,我正在将下拉列表与从数据库返回的对象列表绑定。问题是我有两个下拉菜单。在从第一个下拉列表中选择一个值时,第二个下拉列表中的值将从 db 中获取并显示列表。它一直运行良好,除了第一次从 ddl 1 中选择第一个对象给我 ddl2 中的列表名称。

  1st ddl list has onslected index change event where once value selected will show ddl for ddl2:
  <td><asp:DropDownList ID="ddlFeatClin" runat="server" Width="200px" AutoPostBack="true" OnSelectedIndexChanged="ddlFeatClin_OnSelectedIndexChanged"/></td>
  <td><asp:DropDownList ID="ddlFeatUbi" runat="server" Width="240px" Enabled="false" /></td>

  List<UbData> uN = WCFClient.Client<IT1Service> 
   (webservice).GetListOfUbis(mam, lin);
        ddlNRCUb.DataSource = uN;
        ddlNRCUb.DataBind();
        ddlNRCUb.DataTextField = "Ub";
        ddlNRCUb.DataValueField = "Ub";
        ddlNRCUb.Enabled = true;

我附上屏幕截图供您查看。有什么解决办法吗? 在此处输入图像描述

而在第一次选择之后,就像在第一次选择之后选择值一样,它会从列表中提取正确的对象:

在此处输入图像描述

标签: asp.net

解决方案


当第一个下拉列表获得它的数据源时,它会触发SelectedIndexChanged事件。那时,第二个列表可能尚未填充数据。尝试先设置数据源,然后在后面的代码中添加事件。或者,如果数据仍在加载,则在您的事件处理程序中检查第一个 Dropdown 以跳过处理程序。


推荐阅读