Dre*_*TeK 10 vb.net asp.net data-binding html-select sqldatasource
ddl2成功填充基于ddl1选定值.
我的问题是在添加新数据之前,ddl2中已经存在的数据不会被清除,因此ddl2内容在每次更改ddl1时都会继续增长.
<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>
Run Code Online (Sandbox Code Playgroud)
我已尝试在选定的索引更改后面的代码中重新数据绑定以及items.clear但收效甚微.
Protected Sub ddl1_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
ddl2.Items.Clear()
ddl2.DataSource = sql2
ddl2.DataBind()
End Sub
Run Code Online (Sandbox Code Playgroud)
题
如果下拉列表内容依赖于另一个下拉列表选定值,如何在填充新值之前清除asp:dropdownlist中的项目以进行清除?
请在VB中发布任何代码
Dre*_*TeK 21
使用ddl.Items.Clear()
将清除下拉列表,但您必须确保您的下拉列表未设置为:
AppendDataBoundItems="True"
Run Code Online (Sandbox Code Playgroud)
此选项将导致回弹数据附加到现有列表,该列表在绑定之前不会被清除.
解
添加AppendDataBoundItems="False"
到您的下拉列表.
现在,当数据反弹时,它将自动清除所有现有数据.
Protected Sub ddl1_SelectedIndexChanged(sender As Object, e As EventArgs)
ddl2.DataSource = sql2
ddl2.DataBind()
End Sub
Run Code Online (Sandbox Code Playgroud)
注意: 这可能并不适用于所有情况,因为appenddatbound项可能导致您的下拉列表在列表的每次更改时附加自己的数据.
顶尖提示
仍然想要一个默认列表项添加到您的下拉列表但需要重新绑定数据?
使用AppendDataBoundItems="False"
以防止回发重复数据,然后结合你的下拉列表中插入一个新的默认列表项后直接.
ddl.Items.Insert(0, New ListItem("Select ...", ""))
Run Code Online (Sandbox Code Playgroud)
您应该在绑定之前清除listbbox:
Me.ddl2.Items.Clear()
' now set datasource and bind
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
118681 次 |
最近记录: |