2

我有两个下拉列表,其中一个在页面加载时填充,另一个应该仅在第一个中选择值时填充。第一个下拉列表定义为:

<asp:DropDownList ID = "base_ddl" runat="server" ToolTip="Base" OnSelectedIndexChanged = "BaseSelected">
//  snip...
</asp:DropDownList>

然后,在方法secondary_ddl中填充第二个下拉列表 ( ) 。OnSelectedIndexChangedBaseSelected

    public void BaseSelected(object sender, EventArgs e)
    {
        if (base_ddl.SelectedValue == "-1")
        {
            secondary_ddl.Visible = false;
        }
        else 
        {
            secondary_ddl.Items.Clear();

            // extract information to populate dropdown here
            // snip.
            IList<InfoContainer> info = getInfoBasedOnSelected(base_ddl.Value);

            foreach (InfoContainer i in info)
            {
                secondary_ddl.Items.Add(new ListItem(i.name, i.value));
            }
        }
    }

这不起作用,这导致了这个问题:为什么?如何从OnSelectedIndexChanged另一个下拉列表的函数中动态更新该下拉列表?

4

1 回答 1

1

第一组AutoPostBack="True"属性base_ddl

接着

secondary_ddl.Items.Clear();
IList<InfoContainer> info = getInfoBasedOnSelected(base_ddl.Value);
secondary_ddl.DataTextField = "name";
secondary_ddl.DataValueField = "value";
secondary_ddl.DataSource = info;
secondary_ddl.DataBind();
于 2013-03-18T18:01:57.667 回答