以编程方式向DropDownList添加选项

时间:2012-11-20 03:38:53

标签: c# asp.net drop-down-menu visual-web-developer

我在ASP.NET上的一个网站上工作并遇到了问题。我希望网站在另一个下拉列表中选择新选项时将选项添加到一个下拉列表。为此,我使用第二个下拉列表的SelectedIndexChanged事件。当我通过在此事件中添加此行来测试代码时:

DropDownSubject.Items.Add("TEST");

第一个下拉列表没有任何反应。是因为这个下拉列表在编辑器中自动写入了“Unbound”字样吗?我该如何解决这个问题?

以下是第一个下拉列表的标记,我想将项目添加到:

<asp:DropDownList ID="DropDownClasses" runat="server" 
                >

和第二个,我正在使用该事件:

<asp:DropDownList ID="DropDownSubject" runat="server" 
                onselectedindexchanged="DropDownSubject_SelectedIndexChanged">
                <asp:ListItem>Mathematics</asp:ListItem>
                <asp:ListItem>Foreign Language</asp:ListItem>
                <asp:ListItem>Science</asp:ListItem>
                <asp:ListItem>Social Studies</asp:ListItem>
                <asp:ListItem>English</asp:ListItem>
            </asp:DropDownList>

非常感谢所有帮助。

1 个答案:

答案 0 :(得分:1)

详细信息:听起来您没有为第一个下拉列表设置AutoPostBack。以下示例

  <asp:DropDownList ID="DropDownList1" runat="server" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged" 
    AutoPostBack="true">
        <asp:ListItem>Cat</asp:ListItem>
        <asp:ListItem>Dog</asp:ListItem>
  </asp:DropDownList>

<asp:DropDownList ID="DropDownList2" runat="server"></asp:DropDownList>


代码背后

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
    DropDownList2.Items.Add(DropDownList1.SelectedItem.Text);
}