输入字符串格式不正确'错误
本文关键字:错误 不正确 字符串 格式 输入 | 更新日期: 2023-09-27 18:18:10
我有一个下拉列表的值,我从一个SQL数据库。根据从DropDownList中做出的选择,我填充了一个GridView,同样来自SQL数据库。
当我在下拉列表上设置AutoPostBack=true时,我得到一个"输入字符串格式不正确"的错误。
我DropDownList:
<html>
<asp:DropDownList ID="ddlClient" runat="server" DataSourceID="dsClientList" AppendDataBoundItems="True" DataTextField="Name" DataValueField="Name" TabIndex="0" Font-Names="Verdana" Font-Size="11px" ForeColor="#2D2D2D" AutoPostBack="true">
<asp:ListItem Value="">--- Select ---</asp:ListItem>
</asp:DropDownList>
<asp:ObjectDataSource ID="dsClientList" runat="server" SelectMethod="GetList" TypeName="Class.Client">
</asp:ObjectDataSource>
</html>
在我的ObjectDataSource为我的GridView我使用以下SelectParameters:
<SelectParameters>
<asp:ControlParameter ControlID="ddlClient" Name="pClientID" PropertyName="SelectedValue"
Type="Int32" />
</SelectParameters>
帮忙吗?
谢谢
可能正在尝试将此列表项的值转换为int
<asp:ListItem Value="">--- Select ---</asp:ListItem>
空字符串不能转换为整数,请尝试使用-1或0。
您必须为DataValueField="Name".
设置数字列,可能是ID
或Number
。
<asp:DropDownList ID="ddlClient" runat="server" DataSourceID="dsClientList"
AppendDataBoundItems="True"
DataTextField="Name"
DataValueField="pCientID"
.....
你可以尝试设置--- Select ---
的默认值,如果你设置空白""
不能解析为Int32,你可以使用下面的代码块:
<html>
<asp:DropDownList ID="ddlClient" runat="server" DataSourceID="dsClientList" AppendDataBoundItems="True" DataTextField="Name" DataValueField="yourClientIDField" TabIndex="0" Font-Names="Verdana" Font-Size="11px" ForeColor="#2D2D2D" AutoPostBack="true">
<asp:ListItem Value="0">--- Select ---</asp:ListItem>
</asp:DropDownList>
<asp:ObjectDataSource ID="dsClientList" runat="server" SelectMethod="GetList" TypeName="Class.Client">
</asp:ObjectDataSource>
</html>