私は2つのリストボックスを持っています。
<asp:ListBox ID="ListBox_Region" runat="server"
DataTextField="arregion" DataValueField="arregion" AutoPostBack="True"
Height="96px"
Width="147px" DataSourceid="sqldatasource1"></asp:ListBox>
<asp:ListBox ID="ListBox_Area" runat="server"
DataTextField="ardescript" DataValueField="ardescript"
AutoPostBack="True"
OnSelectedIndexChanged="ListBox_Area_SelectedIndexChanged"
Height="96px"
Width="147px" >
したがって、 ListBox_Region から値を選択すると、対応する値が ListBox_Area で次のように更新されます。
protected void ListBox_Region_SelectedIndexChanged(object sender, EventArgs e)
{
this.ListBox_Area.Items.Clear();
string selectedRegion = ListBox_Region.SelectedValue;
var query = (from s in DBContext.areas
where s.arregion == selectedRegion
select s);
ListBox_Area.DataSource = query;
ListBox_Area.DataBind();
}
ListBoxRegion_SelectedIndexChaged のイベントはページ Load に書き込まれます。
ただし、問題は最初のページの読み込み時にあり、ListBox_Region の最初の値はデフォルトで選択されている必要があります。2 番目のリストボックスは対応する値に更新する必要がありますが、これは選択したインデックスの変更が発生する前に行う必要があります。それで、これを行う方法を教えてください。