【问题标题】:Remove and insert drop down list values删除和插入下拉列表值
【发布时间】:2011-07-07 14:34:34
【问题描述】:

我有几个这样的下拉列表

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

提前致谢

【问题讨论】:

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


    【解决方案1】:

    SelectedValue 存储在variable 之前的rebinding 下拉列表中,然后简单地从下拉列表中删除值

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-12-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多