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