0

私のページにはFormViewコントロールがあり、整数データベースフィールドをFormViewのEditItemTemplate内にあるTextBoxにバインドしています。

<FormView ...>
    <EditItemTemplate> 
        <dx:ASPxTextBox ID="txtDiameter" runat="server" Text='<%# Bind("Diameter") %>' />
        ... 
    <EditItemTemplate>
    ... 
</FormView>

私の問題は、Diameterフィールドがnullの場合、txtDiameterが空の文字列の値を取得することです。[更新]コマンドをクリックすると(txtDiameterに数値を指定しなかった場合)、クライアントエラーが発生します

Sys.WebForms.PageRequestManagerServerErrorException:Int32の有効な値ではありません。

これはバグが原因で発生していると主張する2005年の投稿を見つけました。さて、今は2012年です。これに対処する方法を理解した唯一の方法は、FormView_ItemUpdatingeventを使用して、問題のあるすべての値を丸で囲み、String.Emptyからnullに変換することです。

私はそれがおそらく必要ではないのではないかと少し疑っています。この問題に対処する別の方法はありますか?

4

1 に答える 1

2

代わりに、エディターのValueプロパティをバインドします。

<dx:ASPxTextBox ID="txtDiameter" runat="server" Value='<%# Bind("Diameter") %>' />

これは機能しますか?

于 2012-05-16T08:22:38.920 に答える