ASP.NET 変換に無効な文字列がNullの場合
-
09-06-2019 - |
質問
私の応募していま TextBox
a 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?
.この作品微場合を除いて入力される文字列に変換されません小数点の分野です。その場合は、 UpdateItem
電話ください。
LinqDataSourceValidationException - 失敗したアントレプレナーシップに関す以物件タイプMyType.航空自衛隊ではない有効な値類ではありません。
かの問題ASP.NET 知らないなどから'航空自衛隊'を小数点?.うすることができるようになりますがすべてこれらの無効な値はnullになります。には、どうするのがベストなのだ。
解決
いという思いを大切にしていを処理する必要がありますの更新のイベントのLinqDataSourceにしてみましょう。なおチェック無効な文字列を使用TryParse方法は何か、その基底クラスです。
(編集:私の勘ラインのおすすめ こちらの)
他のヒント
慣れていないASPです。純んだという、
protected void MyTextBox_TextChanged(object sender, EventArgs e)
{
Decimal d = null;
TextBox tb = sender as TextBox;
if(!Decimal.TryParse(tb.Text, out d))
{
tb.Text = String.Empty;
}
MyFormView.UpdateItem(false);
}
所属していません StackOverflow