感谢非常有用的答案,我已经能够修改我的页面,以便我的下拉框正确更新我的 SQL 查询中选择的结果。
我测试的最后一个阶段是将更改的记录更新到数据库中。无论我做什么,我都会不断收到错误 - 输入字符串的格式不正确。
看起来传递的是文本值而不是作者的 ID - 但我已经在数据值字段中标识了 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>
如何解决此错误?