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