SQL クエリの結果から入力されたドロップダウン ボックスがあります。dropdownlist1 から選択された値が、lbAuthors ドロップダウン リストに正常に入力されます。テスト中に、dropdownlist1 の最初のレコードが lbAuthors ドロップダウンリストに更新されないことに気付きました。例を次に示します。2 番目のドロップダウン ボックスに 3 人の著者名 (Frost、Kipling、Poe) がある場合、最初の名前である Frost は最初のドロップダウン ボックスに反映されません。キプリングまたはポーはそうしますが、フロストはそうではありません。
私の質問は、Frost (または最初のレコードが何であれ) が最初のドロップダウン ボックスに更新されるようにするには、イベントに何を含める必要があるかということです。–</p>
分離コード:
protected void update_SelectedItem(object sender, EventArgs e)
{
lbAuthorList.Items.Clear();
lbAuthorList.Items.Add(new ListItem(DropDownList1.SelectedItem.Text, DropDownList1.SelectedItem.Text));
lbAuthorList.Items.FindByValue(DropDownList1.SelectedItem.Text).Selected = true;
}
マークアップ:
<asp:DropDownList runat="server"
ID="lbAuthors"
style="float:left;"
DataSourceID="odsAuthorList"
DataTextField="DisplayAuthorName" DataValueField="AuthorID"
onselectedindexchanged="lbUserList_SelectedIndexChanged"
AppendDataBoundItems="True" >
</asp:DropDownList>
<asp:DropDownList ID="DropDownList1"
runat="server"
AppendDataBoundItems="True"
DataSourceID="SqlDataSource2"
DataTextField="Display_AuthorName"
EnableViewState="false"
DataValueField="Display_AuthorName"
OnSelectedIndexChanged="update_SelectedItem"
AutoPostBack="true">
</asp:DropDownList>