2008-11-12 7 views
1

J'ai une date Nullable dans ma base de données. Je me connecte avec un LinqDataSource, et la liaison avec un FormView. Cela vous permet de placer les dates correctement, mais si vous supprimez la date, j'en ai besoin pour insérer la valeur nulle dans la base de données. Il lance plutôt une exception.Asp.net Problème de liaison de date avec Nulls

<asp:TextBox ID="TxtStartDate" runat="server" 
        Text='<%# Bind("StartDate", "{0:MM/dd/yyyy}") %>' /> 

fonctionne très bien si vous placez une date, mais si vous supprimez la date de et enregistrer, vous obtenez System.Data.SqlTypes.SqlTypeException: débordement de SqlDateTime. Doit être compris entre 1/1/1753 12:00:00 AM et 31/12/9999 23:59:59. Comment est-ce que je le fais envoyer nul?

Répondre

2

Je ne sais pas si c'était la meilleure façon, mais je l'ai fixé en vous inscrivant à l'événement Mise à jour FormView et placé le code suivant:

object o = e.NewValues["StartDate"]; 
    if (o.ToString() == "") 
     e.NewValues["StartDate"] = null;