将相同的数据绑定到多个下拉列表

本文关键字:下拉列表 数据绑定 | 更新日期: 2023-09-27 18:17:17

我的页面上有10个下拉列表5个是员工姓名,标记为ddlemp1, ddlemp2, ddlemp3, ddlemp4, ddlemp还有5个级别,标记为ddllvl1, ddllv2, ddllvl3, ddllvl4, ddllvl5

是否有可能将相同的项绑定到所有的下拉列表中,如ddllmp,并将第二组选择绑定到所有的下拉列表中,如ddllvl?

然后我像这样填充下拉列表:

this.ddlemp1.Items.Insert(1, new ListItem("Fran", "14"));
this.ddlemp1.Items.Insert(2, new ListItem("George", "3")):

编辑
在我的实例中,一个重复器工作,因为我有一个下拉列表中的每一行在我的表,从我对一个重复器的理解,我需要"重复"的每个元素应该落在相同的重复器。除非我能在我的中继器里嵌套一个中继器?

<asp:Repeater ID="RepeateDropDownListSelections" runat="server">
<tr id="row6" runat="server">
  <td><asp:DropDownList ID="ddlemp6" runat="server" Height="16px" Width="278px"></asp:DropDownList></td>
  <td class="style2"><asp:DropDownList ID="ddllvl6" runat="server" Height="16px" Width="45px"></asp:DropDownList></td>
</tr>
</asp:Repeater>

将相同的数据绑定到多个下拉列表

不要将列表项添加到下拉列表中,而是将它们添加到单独的列表中,并将其绑定到每个控件。例如:

var employees = new List<ListItem>
{
    new ListItem("Fran", "14"),
    new ListItem("George", "3")
};
ddlemp1.DataSource = employees;
ddlemp1.DataBind();
ddlemp2.DataSource = employees;
ddlemp2.DataBind();
...
ddlemp5.DataSource = employees;
ddlemp5.DataBind();

对其他列表重复同样的操作。