在我的页面上,我有FormView控件,我将Integer数据库字段绑定到位于FormView的EditItemTemplate内的TextBox。
<FormView ...>
<EditItemTemplate>
<dx:ASPxTextBox ID="txtDiameter" runat="server" Text='<%# Bind("Diameter") %>' />
...
<EditItemTemplate>
...
</FormView>
我的问题是,当Diameter字段为空时,txtDiameter获取空字符串的值。当我单击更新命令时(如果我没有在txtDiameter中提供任何数值),则会引发客户端错误
Sys.WebForms.PageRequestManagerServerErrorException:不是Int32的有效值。
我在2005年发现了一些帖子,声称由于某些错误而发生这种情况。好吧,现在是2012年。我想办法解决这个问题的唯一方法是使用FormView_ItemUpdating
事件来圈选所有有问题的值并将它们从String.Empty转换为null。
我只是怀疑它可能没有必要。有没有其他方法可以解决这个问题?
答案 0 :(得分:2)
改为绑定编辑器的Value属性:
<dx:ASPxTextBox ID="txtDiameter" runat="server" Value='<%# Bind("Diameter") %>' />
这有用吗?