删除并插入下拉列表值

时间:2011-07-07 14:34:35

标签: asp.net .net vb.net drop-down-menu

我有几个这样的下拉列表

<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中的所选项?

提前致谢

2 个答案:

答案 0 :(得分:1)

SelectedValue下拉列表中的某些variable中存储rebinding,然后只需从下拉列表中删除该值

答案 1 :(得分:0)

您可以在ddl1的OnSelectedIndexChanged处理程序中重新数据绑定ddl2,然后在事实之后从ddl1中删除selectedValue。