根据另一个下拉列表中的选定值动态填充下拉列表
本文关键字:下拉列表 动态 填充 另一个 | 更新日期: 2023-09-27 18:04:27
我有两个下拉列表,其中一个在页面加载时填充,另一个应该只在第一个中选择值时填充。第一个下拉列表定义为:
<asp:DropDownList ID = "base_ddl" runat="server" ToolTip="Base" OnSelectedIndexChanged = "BaseSelected">
// snip...
</asp:DropDownList>
然后,用OnSelectedIndexChanged
方法填充第二个下拉列表(secondary_ddl
), BaseSelected
。
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
函数动态更新另一个下拉列表中的下拉列表?
base_ddl
的AutoPostBack="True"
属性
然后
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();