1

私はこれが行われたと確信していますが、どこでも解決策を見つけることができないか、この遅い時間にそれを理解することができないようです。

2つのDropDownListがあります。

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)上記でこれを行うためのより効率的な方法はありますか?

4

2 に答える 2

2

まあ、自動ポストバックが真であることを確認してから、これを確認してください。

    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;

        }

     }
    }
于 2012-06-08T00:10:23.470 に答える
1

後で削除するのではなく、バインドする前にコレクションからアイテムを削除する必要があります。

于 2012-06-07T23:08:43.923 に答える