2008-11-12 3 views
1

У меня есть нулевая дата в моей базе данных. Я подключаюсь к нему с помощью LinqDataSource и привязывается к FormView. Он позволяет размещать даты в порядке, но если вы удалите дату, мне нужно, чтобы вставить нулевое значение в db. Вместо этого он выбрасывает исключение.Asp.net Date Binding Issue with Nulls

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

работает хорошо, если вы поместите дату в нем, но если вы удалите дату из него и сохранить, вы получите System.Data.SqlTypes.SqlTypeException: переполнение SqlDateTime. Должно быть между 1/1/1753 12:00:00 AM и 12/31/9999 11:59:59 PM. Как я могу отправить NULL?

ответ

2

Я не знаю, был ли это лучший способ, но я установил его, подписавшись на событие FormView Обновление и поместил следующий код:

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