C# OnItemSelectedIndex更改隐藏或删除选定的DropDownList项
我相信这已经完成了,但似乎在任何地方都找不到解决方案,也无法在这么晚的时候找到解决方案 我有两个下拉列表:C# OnItemSelectedIndex更改隐藏或删除选定的DropDownList项,c#,asp.net,drop-down-menu,C#,Asp.net,Drop Down Menu,我相信这已经完成了,但似乎在任何地方都找不到解决方案,也无法在这么晚的时候找到解决方案 我有两个下拉列表: ddConvertFrom ddConvertTo OnItemSelectedIndexChange对于任一DropDownList,我想从另一个DropDownList中删除/隐藏所选值 到目前为止,我已经尝试过: protected void ddConvertTo_SelectedIndexChanged(object sender, EventArgs e) { fore
ddConvertFrom
ddConvertTo
OnItemSelectedIndexChange
对于任一DropDownList,我想从另一个DropDownList中删除/隐藏所选值
到目前为止,我已经尝试过:
protected void ddConvertTo_SelectedIndexChanged(object sender, EventArgs e)
{
foreach (ListItem li in ddConvertTo.Items)
{
if (ddConvertFrom.SelectedItem.Text == li.Text)
{
ddConvertTo.Items.Remove(ddConvertTo.Items.FindByValue(ddConvertFrom.SelectedItem.Text));
}
}
}
A) 为什么上述方法不起作用
B) 是否有更有效的方法执行上述操作?您应该在绑定之前从集合中删除该项,而不是在绑定之后尝试删除该项。好的,请确保“自动回发”为真,然后检查此项
protected void ddConvertTo_SelectedIndexChanged(object sender, EventArgs e)
{
foreach (ListItem li in ddConvertTo.Items)
{
if (ddConvertFrom.SelectedItem.Text == li.Text)
{
ddConvertTo.Items.Remove(ddConvertTo.Items.FindByText(ddConvertFrom.SelectedItem.Text));
break;
}
}
}
好吧,如果我是你,我不会使用服务器端控制器和回发,我使用ajax和jqueryYeah,我认为这可能是现在最好的方法,但仍然希望看到解决方案在工作之上。只需删除项并将数据绑定到下拉列表。这就是我正在做的,不是吗<代码>ddConvertTo.Items.Remove(ddConvertTo.Items.FindByValue(ddConvertFrom.SelectedItem.Text))代码>哪里出了什么问题?我已将自动回邮设置为trueAhh绑定不是导致问题的项目,但上面的代码仍然失败。还有一个好地方会给我带来麻烦。