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

时间:2015-10-12 23:50:40

标签: c# asp.net

我在页面5上有10个下拉列表用于员工姓名,它们被标记为ddlemp1,ddlemp2,ddlemp3,ddlemp4,ddlemp,我有5个级别的下拉列表,它们被标记为ddllvl1,ddllvl2,ddllvl3,ddllvl4 ,ddllvl5

是否可以将相同的项目绑定到我的所有下拉列表(如ddlemp),并将第二组选项绑定到名为ddllvl的所有下拉列表?

我正在填充下拉列表,如下:

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

修改
转发器是否会在我的实例中工作,因为我在表格中的每一行都有一个下拉列表,以及我对转发器的理解我需要的每个元素都是重复的#34;应该属于同一个重复者。所以除非我能以某种方式在我的ddlemp转发器中嵌入一个ddllvl转发器吗?

<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>

1 个答案:

答案 0 :(得分:3)

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

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();

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