我在DataList
內部使用3 DropDownList
。所以,每行包含3個DropDownList
。 DataList
也包含DataKeyField
。
現在,如果用戶從DropDownList1
選擇值,那麼我想綁定DropDownList2
,如果用戶從DropDownList2
選擇值,那麼我想要綁定DropDownList3
。我正在使用SelectedIndexChanged
,我可以獲得相關的DropDownList
選定值的值。但是,如果用戶選擇DropDownList2
那麼我也需要DropDownList1
的值,並且還需要值得尊重的DataKeyField
。
如何得到這個???
我的代碼示例:基於DataList中另一個Dropdown SelectedValue綁定一個下拉菜單 - c#
<asp:DataList ID="dlTest" runat="server" OnItemDataBound="dlTest_ItemDataBound"
DataKeyField="TestId">
<ItemTemplate>
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="true" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged"> </asp:DropDownList>
<asp:DropDownList ID="DropDownList2" runat="server" AutoPostBack="true" OnSelectedIndexChanged="DropDownList2_SelectedIndexChanged"> </asp:DropDownList>
<asp:DropDownList ID="DropDownList3" runat="server" AutoPostBack="true" OnSelectedIndexChanged="DropDownList3_SelectedIndexChanged"> </asp:DropDownList>
</ItemTemplate>
</asp:DataList>
這裏,DropDownList3
onSelectedIndexChanged
,我能得到它了selectedValue,但我還需要DropDownList1
和DropDownList2
推崇行的了selectedValue,也尊重DataKeyField
值。
protected void DropDownList3_SelectedIndexChanged(object sender, EventArgs e)
{
var DropDownList3 = (DropDownList)sender;
string DDL3 = ((DropDownList)DropDownList3.NamingContainer.FindControl("DropDownList3")).SelectedValue;
// Also need selectedValue of DropDownList1 and DropDownList2 and DataKeyField.
}
如果我沒有弄錯,你幾乎已經有了代碼。而不是'.FindControl(「DropDownList3」)',只需對「DropDownList1」和「DropDownList2」進行查找控制。 – 2015-01-21 14:05:03