0

パネルを表示または非表示にするラジオ ボタンが必要です。

protected void RadioButtonList1_SelectedIndexChanged(object sender, EventArgs e)
{
    if (RadioButtonList1.SelectedIndex == 0)
    {
        newPanel.Visible = true;
        updatePanel.Visible = false;
    }
    else if (RadioButtonList1.SelectedIndex == 1)
    {
        newPanel.Visible = false;
        updatePanel.Visible = true;
    }
}

これらのパネルの外側には、データ ソース (グリッドビュー) に影響を与えるドロップ ダウン リストがあります。2 番目のラジオ ボタンは、このデータ ソースを保持するパネルを表示します。ドロップダウン メニューから別の項目が選択されたときに発生する変更のコードは次のとおりです。

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
    //change WHERE clause for SQL statement that effects grid view based on drop down menu selection
    SqlDataSource4.SelectParameters["userIdSelected"].DefaultValue = userNameDropDown.SelectedItem.Value;
}

これは正しく機能し、更新によって表示されているデータ ソースが変更されます。

ただし、現在、最初のラジオ ボタンを選択して (別のパネルを表示)、ドロップダウン リストから名前を変更すると、2 番目のラジオ ボタンに移動すると、以前のデータ ソースが表示されます。ドロップダウン メニューへの変更が正しく反映されません。

編集:ラジオボタンの変更に変更を追加しようとしましたが、それでも同じ動作をしています:

protected void RadioButtonList1_SelectedIndexChanged(object sender, EventArgs e)
{
    SqlDataSource4.SelectParameters["userIdSelected"].DefaultValue = userNameDropDown.SelectedItem.Value;

    if (RadioButtonList1.SelectedIndex == 0)
    {
        newPanel.Visible = true;
        updatePanel.Visible = false;
    }
    else if (RadioButtonList1.SelectedIndex == 1)
    {
        newPanel.Visible = false;
        updatePanel.Visible = true;
    }
}
4

0 に答える 0