c#错误-输入字符串的格式不正确

c#错误-输入字符串的格式不正确,c#,asp.net,C#,Asp.net,感谢这些非常有用的答案,我已经能够修改我的页面,这样我的下拉框就可以正确地用我的SQL查询中选择的结果进行更新 测试的最后一个阶段是将更改的记录更新到数据库中。不管我做什么,我总是得到一个错误-输入字符串的格式不正确 看起来传递的是文本值而不是作者的ID,但我在datavaluefield中标识了AuthorID。下面是我的代码: protected void btnAddAuthors(object sender, EventArgs e) { odsIdentifiedAu

感谢这些非常有用的答案,我已经能够修改我的页面,这样我的下拉框就可以正确地用我的SQL查询中选择的结果进行更新

测试的最后一个阶段是将更改的记录更新到数据库中。不管我做什么,我总是得到一个错误-输入字符串的格式不正确

看起来传递的是文本值而不是作者的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>
受保护的无效btnAddAuthors(对象发送方,事件参数e)
{
odsIdentifiedAuthors.Insert();
lbAuthors.ClearSelection();
重定向(Request.Url.AbsoluteUri);
}
已选择受保护的无效组列表\u text(对象发送方,事件参数e)
{
lbUserList.Items.Clear();
lbUserList.Items.Add(新列表项(DropDownList1.SelectedItem.Text,DropDownList1.SelectedItem.Text));
lbUserList.Items.FindByValue(DropDownList1.SelectedItem.Text)。Selected=true;
}


如何解决此错误

ControlParameter的ControlID属性引用DropDownList的ID,因此两者必须匹配:

<asp:DropDownList ID="ddlAuthors" ...

//DataValueField已设置为ID。但它应为“AuthorID”

加上这个


DataValueField=“AuthorID”

哪一行给出了错误?错误发生在执行btnAddAuthors事件时。我发现此表单调用了一个类。此页面上还有多个其他变量,它们在其函数中相互交织。这要花我一点时间才能弄清楚。理想情况下,您的解决方案会起作用,因此我接受它和其他建议的解决方案。感谢您花时间回顾并回答我的问题。我发现此表单调用了一个类。此页面上还有多个其他变量,它们在其函数中相互交织。这要花我一点时间才能弄清楚。理想情况下,您的解决方案会起作用,因此我接受它和其他建议的解决方案。感谢您抽出时间回顾并回答我的问题。