OnItemSelectedIndexChange隐藏或删除选定的DropDownList项

时间:2012-06-07 23:04:51

标签: c# asp.net drop-down-menu

我确信这已经完成但似乎无法在任何地方找到解决方案,或者在这么晚的时候弄明白。

我有两个DropDownLists:

ddConvertFrom ddConvertTo

对于任一DropDownLists

OnItemSelectedIndexChange,我想从其他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)上面有更有效的方法吗?

2 个答案:

答案 0 :(得分:2)

好吧,确保autopostbacks为真,然后检查一下。

    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;

        }

     }
    }

答案 1 :(得分:1)

您应该在绑定之前从集合中删除该项目,而不是在之后尝试将其删除。