2つのドロップダウンリストがあります。1つはページの読み込み時に入力され、もう1つは最初のリストで値が選択された場合にのみ入力されます。最初のドロップダウンリストは次のように定義されます。
<asp:DropDownList ID = "base_ddl" runat="server" ToolTip="Base" OnSelectedIndexChanged = "BaseSelected">
// snip...
</asp:DropDownList>
次に、2番目のドロップダウンリスト(secondary_ddl
)がOnSelectedIndexChanged
メソッドに入力され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
他のドロップダウンの関数からそのドロップダウンを動的に更新するにはどうすればよいですか?