0

同じデータセットから入力された 2 つのドロップダウン リストがあるフォームがあるため、それらの値は等しくなければなりません。コードに OnSelectedIndexChanged イベントがあり、2 番目のドロップダウンで AutoPostBack が true に設定されています。予想される動作は、ユーザーが 2 番目のドロップダウンからアイテムを選択すると、最初のドロップダウンが 2 番目のドロップダウンで選択されたものに変更されることです。イベントでの私のコードは次のようになります。

if(!ddl1.SelectedValue.Equals(ddl2.SelectedValue)
{
    ddl1.SelectedValue = ddl2.SelectedValue;
}

OnSelectedIndexChanged イベントには、2 番目のドロップダウンリストの選択に基づいて、ページの下部にあるデータグリッドを再バインドするコードも含まれています。簡単に言えば、データグリッドは変更されますが、最初のドロップダウンはその値を変更しません。ポストバックがページの変更を制限するべきではないように思えますが、ここで何が欠けているのでしょうか?

4

2 に答える 2

3
if(!ddl1.SelectedValue.Equals(ddl2.SelectedValue)
{
     ddl1.ClearSelection();
     ddl1.Items.FindByValue(ddl2.SelectedValue).Selected = True
}
于 2012-08-10T12:35:56.730 に答える
1

次のことを試してください。

    if (!ddl1.SelectedIndex == ddl2.SelectedIndex)
{
ddl1.SelectedIndex == ddl2.SelectedIndex
}
于 2012-08-10T14:23:02.773 に答える