In meiner Anwendung auf Null Ich habe TextBox
in einem FormView
zu einem LinqDataSource
wie so gebunden:ASP.NET konvertieren Ungültige String
<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);
}
Dies ist im Inneren ein UpdatePanel
so eine Änderung auf das Feld beibehalten wird sofort. Außerdem ist der Wert MyValue
decimal?
. Dies funktioniert einwandfrei, es sei denn, ich gebe eine Zeichenfolge ein, die nicht in das Feld Dezimal konvertiert werden kann. In diesem Fall führt der UpdateItem
Aufruf:
LinqDataSourceValidationException - eines setzen fehlgeschlagen oder mehr Eigenschaften auf Typen MyType. asdf ist kein gültiger Wert für Dezimal.
Ich verstehe das Problem, ASP.NET weiß nicht, wie von 'Asdf' in Dezimal konvertieren ?. Was ich möchte, ist, all diese ungültigen Werte in null zu konvertieren. Was ist der beste Weg, dies zu tun?