Formview.Updateitem给出错误“输入字符串格式不正确”。但是Formview更新有效

时间:2017-03-15 23:32:28

标签: asp.net

这是调用Update Item方法的子例程。该按钮位于编辑模板上。它调用另一个子例程来获取用于更新编辑模板上的文本框的值。然后它调用updateitem将该值保存到数据库

Protected Sub btnCreateChargerRecord_Click(sender As Object, e As System.EventArgs)

          Dim MyFormview As FormView = UpdatePanel1.FindControl("Formview1")
          Dim lblChargerSerialNumber As TextBox = MyFormview.FindControl("FL_Charger_Serial_NumberTextBox")
          Dim ddlState As DropDownList = MyFormview.FindControl("ddlState")      

          Session("State") = ddlState.SelectedValue.ToString
          lblChargerSerialNumber.Text = GetBatterySerialNumber(Session("State"), "Charger").ToString
          Try
               MyFormview.UpdateItem(False)

          Catch ex As FormatException
               MessageLabel.Text = ex.Message.ToString & ex.Source.ToString
          End Try

End Sub

当我运行此代码时,出现错误“输入字符串格式不正确”  但是,如果我注释掉MyFormview.UpdateItem(False)行并使用标准formview链接按钮更新“更新”没有错误结果。请参阅下面的HTML for Formview

1 个答案:

答案 0 :(得分:0)

问题已解决。与编辑项模板上的文本框相关的问题: -

<asp:TextBox ID="FL_Battery_PriceTextBox" runat="server" 
            Text='<%# Bind("FL_Battery_Price","{0:$#0.00}") %>'               CssClass="FieldValue" 
            Style="z-index: 135; left: 502px; position: absolute; top: 651px" 
            Width="100px" Height="20px" 
            ></asp:TextBox> 

格式化数据库值以使用前导美元符号显示它。打破ItemUpdating事件处理程序并检查NewValues我看到链接按钮Update方法已删除了前导$符号,但UpdateItem方法因此不会导致上面的格式错误。所以解决方案是手动删除ItemUpdating事件中的前导$符号