0
我想創建第二個下拉列表,該列表基於第一個下拉列表的值根據需要調整列表項目。我寫了下面的代碼,但即使沒有編譯錯誤,第二個下拉列表仍然是空的。以下是html和C#代碼。基於另一個下拉列表的值的下拉列表項目
<table>
<tr><td>System</td>
<td>
<asp:DropDownList ID="systemddl" runat="server" AutoPostBack="True" Height="24px" Width="142px">
<asp:ListItem>G1</asp:ListItem>
<asp:ListItem>D2</asp:ListItem>
<asp:ListItem> D3</asp:Listitem>
<asp:ListItem> M4</asp:Listitem>
<asp:ListItem> I5</asp:Listitem>
</asp:DropDownList></td>
</tr>
<tr>
<td>KPI</td>
<td> <asp:DropDownList ID="kpiddl" runat="server" AutoPostBack="True" Height="24px" Width="142px"></asp:DropDownList></td>
</tr>
</table>
protected void systemddl_SelectedIndexChanged(object sender, EventArgs e)
{
if (systemddl.SelectedValue == "G1")
{
var items1 = new List<ListItem>()
{
new ListItem("TEST1"),
new ListItem("")
};
kpiddl.DataSource = items1;
kpiddl.DataBind();
kpiddl.SelectedValue = "";
if (systemddl.SelectedValue == "D2")
{
var items2 = new List<ListItem>()
{
new ListItem("1"),
new ListItem("2"),
new ListItem("3"),
new ListItem("4")
};
kpiddl.DataSource = items2;
kpiddl.DataBind();
}
if (systemddl.SelectedValue == "I5")
{
var items3 = new List<ListItem>()
{
new ListItem("Total"),
new ListItem("V Completed"),
new ListItem("R found"),
new ListItem("R sold"),
new ListItem("A found"),
new ListItem("Asold"),
new ListItem("")
};
kpiddl.DataSource = items3;
kpiddl.DataBind();
kpiddl.SelectedValue = "";
}
if (systemddl.SelectedValue == "D3")
{
var items4 = new List<ListItem>()
{
new ListItem("FRFT"),
new ListItem("")
};
kpiddl.DataSource = items4;
kpiddl.DataBind();
}
if (systemddl.SelectedValue == "M4")
{
var items5 = new List<ListItem>()
{
new ListItem("A"),
new ListItem("B"),
new ListItem("C"),
new ListItem("D"),
new ListItem("")
};
kpiddl.DataSource = items5;
kpiddl.DataBind();
kpiddl.SelectedValue = "";
}
謝謝。我完全忘記了「OnSelectedIndexChanged =」ddl_1_SelectedIndexChanged「,我會讓你知道它是否有效 – el94
不用理睬」AutoPostBack「屬性 –
謝謝你的工作。 – el94