1
我有兩個下拉列表,其中一個在頁面加載時填充,另一個只在第一個列表中選擇一個值時填充。基於另一個下拉列表中的選定值動態填充下拉列表
<asp:DropDownList ID = "base_ddl" runat="server" ToolTip="Base" OnSelectedIndexChanged = "BaseSelected">
// snip...
</asp:DropDownList>
然後,第二下拉列表(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
函數的下拉菜單?
首先你不需要在第二個下拉數據綁定爲你添加項目到它的。並檢查你的清單是否有任何價值? – Zaki 2013-03-18 17:54:59
@Samim我不這麼認爲,這是在調試時添加的。我肯定項目會被添加到列表中(通過並看到它們)。刪除了那行代碼以避免再次出現,謝謝。 – Jim 2013-03-18 17:55:51
「這不起作用」是什麼意思?你期望什麼?你看到了什麼?第一個下拉列表是否將AutoPostBack設置爲true? – Igor 2013-03-18 17:57:20