如何在其他下拉列表中选择项目时,如何禁用下拉列表中的项目?

时间:2012-09-14 08:42:02

标签: asp.net

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

2 个答案:

答案 0 :(得分:0)

您需要处理DropDownList的SelectedIndexChanged事件以确定何时选择了Item,然后遍历其他DropDownLists中的项目,删除所需的项目。 E.g。

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);
       }
   }
}

答案 1 :(得分: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();