Dans ma demande je TextBox
dans un FormView
lié à un LinqDataSource
comme ceci:ASP.NET Convertir non valide Chaîne à Null
<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);
}
C'est à l'intérieur d'un UpdatePanel
de sorte que toute modification du champ persistée immédiatement. En outre, la valeur de MyValue
est decimal?
. Cela fonctionne bien à moins que j'entre une chaîne qui ne peut pas être convertie en décimal dans le champ. Dans ce cas, l'appel UpdateItem
lance:
LinqDataSourceValidationException - Impossible de définir une ou plusieurs propriétés sur le type MyType. asdf n'est pas une valeur valide pour Decimal.
Je comprends le problème, ASP.NET ne sait pas comment convertir "asdf" en décimal ?. Ce que je voudrais faire, c'est convertir toutes ces valeurs invalides en null. Quelle est la meilleure façon de procéder?