Asp.net Data Binding Issue with Nulls
Domanda
Ho una data nulla nel mio database. Mi sto collegando ad esso con un LinqDataSource e collegando con un FormView. Ti permette di posizionare bene le date, ma se rimuovi la data ne ho bisogno per inserire il valore null nel db. Sta invece generando un'eccezione.
<asp:TextBox ID="TxtStartDate" runat="server"
Text='<%# Bind("StartDate", "{0:MM/dd/yyyy}") %>' />
Funziona bene se si inserisce una data, ma se si elimina la data e si salva, si ottiene System.Data.SqlTypes.SqlTypeException: overflow SqlDateTime. Deve essere compreso tra 1/1/1753 12:00:00 e 31/12/9999 23:59:59. Come posso fare per inviare null?
Soluzione
Non so se fosse il modo migliore, ma l'ho corretto iscrivendomi all'evento di aggiornamento FormView e inserendo il seguente codice:
object o = e.NewValues["StartDate"];
if (o.ToString() == "")
e.NewValues["StartDate"] = null;
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow