我有几个这样的下拉列表
<asp:DropDownList runat="server" OnSelectedIndexChanged="Update_ddls" AutoPostBack="true" ID="ddl1" />
<asp:DropDownList runat="server" ID="ddl2" />
我的数据库中的列填充了这个
query.CommandText = "SELECT * FROM locations"
DataTable = New DataTable()
DataAdapter = New SqlDataAdapter(query)
DataAdapter.Fill(DataTable)
If Not Page.IsPostBack Then
ddl1.DataSource = DataTable.DefaultView
ddl1.DataTextField = "location"
ddl1.DataValueField = "location"
ddl1.DataBind()
ddl1.Items.Insert(0, New ListItem("Select...", "Select..."))
End If
我还有一个名为Update_ddls
的函数,它运行OnSelectedIndexChanged
,看起来像这样
ddl2.Items.Remove(ddl2.Items.FindByValue(ddl1.SelectedValue.ToString()))
从第二个下拉菜单中移除ddl1中的所选项目,但如果我不断更改ddl1
项目,则ddl2
将不会包含任何项目。
有没有办法在Update_dlls
函数中重新添加以前删除的项而不重新数据绑定,因为如果我重新数据绑定,我会丢失ddl
中的所选项?
提前致谢
答案 0 :(得分:1)
在SelectedValue
下拉列表中的某些variable
中存储rebinding
,然后只需从下拉列表中删除该值
答案 1 :(得分:0)
您可以在ddl1的OnSelectedIndexChanged处理程序中重新数据绑定ddl2,然后在事实之后从ddl1中删除selectedValue。