我的数据库中有一个可以为空的日期。我使用LinqDataSource连接到它,并使用FormView绑定。它允许您将日期设置得很好,但如果您删除了我需要它的日期,则将空值插入数据库。而是抛出异常。
<asp:TextBox ID="TxtStartDate" runat="server"
Text='<%# Bind("StartDate", "{0:MM/dd/yyyy}") %>' />
如果您在其中放置日期,则工作正常,但如果您删除日期并保存,则会收到System.Data.SqlTypes.SqlTypeException:SqlDateTime overflow。必须在1/1/1753 12:00:00 AM和12/31/9999 11:59:59 PM之间。如何让它发送空?
答案 0 :(得分:2)
我不知道这是不是最好的方法,但我通过订阅FormView Updating事件修复了它并放置了以下代码:
object o = e.NewValues["StartDate"];
if (o.ToString() == "")
e.NewValues["StartDate"] = null;