非常に役立つ回答のおかげで、SQL クエリから選択した結果でドロップダウン ボックスが正しく更新されるように、ページを変更することができました。
私のテストの最後の段階は、変更されたレコードをデータベースに更新することです。何をしても、エラーが発生し続けます - 入力文字列が正しい形式ではありませんでした。
Author の ID の代わりにテキスト値が渡されているようですが、datavaluefield で AuthorID を特定しました。以下は私のコードです:
protected void btnAddAuthors(object sender, EventArgs e)
{
odsIdentifiedAuthors.Insert();
lbAuthors.ClearSelection();
Response.Redirect(Request.Url.AbsoluteUri);
}
protected void groupList_TextSelected(object sender, EventArgs e)
{
lbUserList.Items.Clear();
lbUserList.Items.Add(new ListItem(DropDownList1.SelectedItem.Text, DropDownList1.SelectedItem.Text));
lbUserList.Items.FindByValue(DropDownList1.SelectedItem.Text).Selected = true;
}
<asp:DropDownList ID="DropDownList1" runat="server" AppendDataBoundItems="True"
DataSourceID="SqlDataSource2" DataTextField="Author_Name" EnableViewState="false"
DataValueField="ID" OnSelectedIndexChanged="AuthorsList_TextSelected" AutoPostBack="true">
</asp:DropDownList>
<asp:SqlDataSource ID="SqlDataSource2" runat="server"
ConnectionString="<%$ ConnectionStrings:Libros %>"
SelectCommand="SELECT [Author_Name], [AuthorID] FROM [Authors] WHERE ([Genre] = @Genre)">
<SelectParameters>
<asp:ControlParameter ControlID="ddlAuthors" Name="Genre"
PropertyName="SelectedValue" Type="String" />
</SelectParameters>
</asp:SqlDataSource>
このエラーを解決するにはどうすればよいですか?