在我的页面上,我有 FormView 控件,并且我将 Integer 数据库字段绑定到位于 FormView 的 EditItemTemplate 内的 TextBox。
<FormView ...>
<EditItemTemplate>
<dx:ASPxTextBox ID="txtDiameter" runat="server" Text='<%# Bind("Diameter") %>' />
...
<EditItemTemplate>
...
</FormView>
我的问题是当直径字段为空时,txtDiameter 获取空字符串的值。当我单击更新命令时(如果我没有在 txtDiameter 中提供任何数值),则会引发客户端错误
Sys.WebForms.PageRequestManagerServerErrorException:不是 Int32 的有效值。
我发现了 2005 年的一些帖子,声称这是由于一些错误而发生的。好吧,现在是 2012 年。我想出解决这个问题的唯一方法是使用FormView_ItemUpdating
事件,循环遍历所有有问题的值并将它们从 String.Empty 转换为 null。
我只是有点怀疑这可能没有必要。有没有另一种方法来处理这个问题?