[英]updating a Int32 column get “Input string was not in a correct format”
I've aa webform which update a db table, there is an error "Input string was not in a correct format" after submitted the form 我有一个更新数据库表的网络表单,提交表单后出现错误“输入字符串的格式不正确”
nodeDetails.cs nodeDetails.cs
protected void SqlDataSource_Updating(object sender, SqlDataSourceCommandEventArgs e)
{
DropDownList ddl = (DropDownList)(DetailsView1.Rows[0].FindControl("DropDownList4"));
DataRowView dr = (DataRowView)DetailsView1.DataItem;
e.Command.Parameters["@parent_id"].Value = ddl.SelectedValue;
}
some code in nodeDetails.aspx nodeDetails.aspx中的一些代码
UpdateCommand="UPDATE [node] SET [title] = @title, [parent_id] = @parent_id, [oid] = @oid, [display] = @display, [linkById] = @linkById, [showContent] = @showContent, [customLinks] = @customLinks, [contentType] = @contentType WHERE [id] = @id"
<UpdateParameters>
<asp:Parameter Name="title" Type="String" />
<asp:Parameter Name="parent_id" Type="Int32" />
<asp:Parameter Name="oid" Type="Int32" />
<asp:Parameter Name="display" Type="Byte" />
<asp:Parameter Name="linkById" Type="Byte" />
<asp:Parameter Name="showContent" Type="Byte" />
<asp:Parameter Name="customLinks" Type="String" />
<asp:Parameter Name="contentType" Type="String" />
<asp:Parameter Name="id" Type="Int32" />
</UpdateParameters>
The error will is caused by e.Command.Parameters["@parent_id"].Value = ddl.SelectedValue; 该错误将由e.Command.Parameters [“ @ parent_id”]。Value = ddl.SelectedValue;引起。
Anyone know what is the problem? 有人知道是什么问题吗?
you need to make sure ddl.SelectedValue return correct integer value before setting parameter 您需要确保ddl.SelectedValue返回正确的整数值,然后再设置参数
DropDownList ddl = (DropDownList)(DetailsView1.Rows[0].FindControl("DropDownList4"));
int val;
if(int.TryParse(ddl.SelectedValue, out val)
{
e.Command.Parameters["@parent_id"].Value = val;
}
when you bind DropDownList4
make integer field as value member of it. 绑定
DropDownList4
使整数字段为其值成员。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.