0

非常に役立つ回答のおかげで、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>

このエラーを解決するにはどうすればよいですか?

4

2 に答える 2

0

ControlParameter の ControlID 属性は DropDownList の ID を参照するため、2 つが一致する必要があります。

<asp:DropDownList ID="ddlAuthors" ...
于 2013-11-01T00:25:46.287 に答える