2

我想要做的是,当第一个下拉列表被选中时,它会从下一个下拉列表中删除选定的项目。因此,如果您有数据:A、B、C、D、E、F、G、H、I 在一个下拉列表中,如果我在第一个下拉列表中选择 B,那么在下一个下拉列表中它应该只显示 A、C、D ,E,F,G,H,I 等最多 7 个下拉菜单。我不知道在 asp.net 中解决这个问题的最佳方法是什么?

4

2 回答 2

0

您需要处理 DropDownList 的 SelectedIndexChanged 事件以确定何时选择了一个项目,然后遍历其他 DropDownLists 中的项目,删除您想要的项目。例如

void DropDownListOne_SelectedIndexChanged(object sender, Eventargs e)
{
   ListItem selectedItem = DropDownListOne.SelectedItem;

   foreach(ListItem item in DropDownListTwo.Items)
   {
       if(item.Value == selectedItem.Value)
       {
           DropDownListTwo.Items.Remove(item);
       }
   }
}
于 2012-09-14T08:55:33.993 回答
0

尝试这个

 ListItem item = d1.Items.FindByText(d1.SelectedValue);
 d2.Items.Remove(item);

如果你有字符作为数组,你可以有

 string[] letters = new string[] {"A","B","C"};

 string d1SelValue = d1.SelectedValue;

 d2.DataSource = letters.Where(l => l != d1SelValue).ToArray();
 d2.DataBind();
于 2012-09-14T09:01:03.370 回答