ドロップダウン リストを更新パネルに配置し、City ドロップダウンで新しい選択が行われたときに Office ドロップダウン リストを再バインドします。
簡単に言うと...
フロントエンド:ScriptManager
ページに を追加し、ドロップダウン リストを で囲みますUpdatePanel
。
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:DropDownList ID="ddlCity"
runat="server"
OnSelectedIndexChanged="ddlCityChanged">
</asp:DropDownList>
<asp:DropDownList ID="ddlOffices"
runat="server">
</asp:DropDownList>
</ContentTemplate>
</asp:UpdatePanel>
コード ビハインド。通常のようにイベント ハンドラを接続するだけです。
protected void ddlCityChanged(object sender, EventArgs e)
{
var city = ddlCity.SelectedValue;
// get the offices for that city
ddlOffices.DataSource = [offices];
ddlOffices.DataBind();
}
UpdatePanel は、完全なポストバックではなく部分的なポストバックをトリガーし、Ajax を使用して UpdatePanel 内のページの一部のみを更新します。ページの残りの部分は影響を受けません。