ddl2基於ddl1選定的值成功填充。如何在內容更改時清除存在的下拉列表項目?
我的問題是,ddl2中已經存在的數據在追加新數據之前並未清除,因此每次ddl1更改時ddl2內容都會持續增長。
<asp:DropDownList ID="ddl1" RunAt="Server" DataSourceID="sql1" DataValueField="ID1" DataTextField="Name2" AppendDataBoundItems="True" AutoPostBack="True">
<asp:ListItem Text="ALL" Selected="True" Value="0"/>
</asp:DropDownList>
<asp:DropDownList ID="ddl2" RunAt="Server" DataSourceID="sql2" DataValueField="ID2" DataTextField="Name2" AppendDataBoundItems="True" AutoPostBack="True">
<asp:ListItem Text="ALL" Selected="True" Value="0"/>
</asp:DropDownList>
<asp:SqlDataSource ID="sql1" RunAt="Server" SelectCommand="sp1" SelectCommandType="StoredProcedure"/>
<asp:SqlDataSource ID="sql2" RunAt="Server" SelectCommand="sp2" SelectCommandType="StoredProcedure">
<SelectParameters>
<asp:ControlParameter Type="Int32" Name="ID1" ControlID="ddl1" PropertyName="SelectedValue"/>
</SelectParameters>
</asp:SqlDataSource>
我已經在代碼試圖重新綁定落後於選擇指數的變化,也items.clear收效甚微。
Protected Sub ddl1_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
ddl2.Items.Clear()
ddl2.DataSource = sql2
ddl2.DataBind()
End Sub
問題
如何獲得在ASP中的商品:下拉列表來清除被填充新的值之前當dropdownlists內容依賴於另一個dropdownlists選擇的價值?
請VB張貼任何代碼
雖然這清除了我選定的值,但它也清除了我所有的下拉值,使它們不再可用。我在AppendDataBoundItems上嘗試了「True」和「False」。我相信這可能是我錯過的一件事,但爲了以防萬一,我想把它扔到那裏。 – 2015-09-18 19:52:36
@JohnWaclawski如果AppendDataBoundItems =「False」,那麼無論何時數據綁定到列表,它都會自動清除列表。 – Obsidian 2015-09-21 07:30:16