1

我的数据库中有一个可以为空的日期。我使用 LinqDataSource 连接到它,并与 FormView 绑定。它允许您很好地放置日期,但是如果您删除日期,我需要它将空值插入到数据库中。相反,它会引发异常。

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

如果在其中放置日期,则可以正常工作,但是如果从中删除日期并保存,则会得到 System.Data.SqlTypes.SqlTypeException: SqlDateTime 溢出。必须介于 1753 年 1 月 1 日上午 12:00:00 和 9999 年 12 月 31 日晚上 11:59:59 之间。如何让它发送空值?

4

1 回答 1

2

我不知道这是否是最好的方法,但我通过订阅 FormView 更新事件来修复它并放置以下代码:

object o = e.NewValues["StartDate"];
   if (o.ToString() == "")
       e.NewValues["StartDate"] = null;
于 2008-11-12T06:49:03.593 回答