繁体   English   中英

“输入字符串格式不正确”错误

[英]'Input string not in correct format' Error

我有一个DropDownList,其中包含从SQL数据库获取的值。 根据从DropDownList所做的选择,我也从SQL数据库填充GridView。

当我在DropDownList上设置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>

在我的GridView的ObjectDataSource中,使用以下SelectParameters:

<SelectParameters> <asp:ControlParameter ControlID="ddlClient" Name="pClientID" PropertyName="SelectedValue" Type="Int32" /> </SelectParameters>

有什么帮助吗?

谢谢

可能是试图将此列表项的值转换为int

<asp:ListItem Value="">--- Select ---</asp:ListItem>

空字符串不能转换为整数,请尝试使用-1或0。

您必须为DataValueField="Name".设置数字列DataValueField="Name". 可以是IDNumber

<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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM