私のアプリケーションではTextBox
、次のようにFormView
バインドされています。LinqDataSource
<asp:TextBox ID="MyTextBox" runat="server"
Text='<%# Bind("MyValue") %>' AutoPostBack="True"
ontextchanged="MyTextBox_TextChanged" />
protected void MyTextBox_TextChanged(object sender, EventArgs e)
{
MyFormView.UpdateItem(false);
}
これは の内部にあるUpdatePanel
ため、フィールドへの変更はすぐに永続化されます。また、 の値はMyValue
ですdecimal?
。10 進数に変換できない文字列をフィールドに入力しない限り、これは正常に機能します。その場合、UpdateItem
呼び出しは次をスローします。
LinqDataSourceValidationException - タイプ MyType で 1 つ以上のプロパティを設定できませんでした。asdf は Decimal の有効な値ではありません。
私は問題を理解しています.ASP.NETは「asdf」から10進数への変換方法を知りません. 私がやりたいことは、これらの無効な値をすべて null に変換することです。これを行う最善の方法は何ですか?