gpt4 book ai didi

c# - MVC3 AJAX 表单 - 日期时间溢出?

转载 作者:行者123 更新时间:2023-11-30 17:11:00 26 4
gpt4 key购买 nike

在我的应用程序中,我有一个包含文档 列表的索引页。我想在同一个索引页面上添加一个带有 AJAX 表单的新文档。我正在使用 ViewModel 将 NewDocument 对象传递到索引页面。

AJAX 表单(为了便于阅读,我省略了一些部分):

@using (Ajax.BeginForm("Index_AddDocument", new AjaxOptions { UpdateTargetId = "MainList" }))

<div class="editor-field">
@Html.EditorFor(model => model.NewDocument.Date)
@Html.ValidationMessageFor(model => model.NewDocument.Date)
</div>

这里是将新的Document保存到数据库,并更新文档的部分 View 列表的方法:

public ActionResult Index_AddDocument(HomeIndexViewModel viewModel)
{

db.Documents.Add(viewModel.NewDocument);
db.SaveChanges();

return PartialView("ListOfDocs", db.Documents);
}

这不起作用,我在 db.SaveChanges() 处遇到异常。它说:

InnerException {"An overflow occurred while converting to datetime."} System.Exception {System.Data.SqlServerCe.SqlCeException}

编辑:我的文档域模型具有以下日期属性:

[DataType(DataType.Date)]
public DateTime Date { get; set; }

在 AJAX 表单中,我只是键入一个随机日期,如 5/2/2005,然后单击“提交”,然后得到上述异常。

最佳答案

在调用 db.SaveChanges() 之前,viewModel.NewDocument.Date 的值是多少?

C# 可以处理从 0000 年 1 月 1 日到 9999 年 12 月 31 日的日期。我知道 SQL Server 无法处理整个范围(例如,我相信 SQL Server 2008 无法处理 1753 年 1 月 1 日之前)

我怀疑 SQL Server CE 对其日期范围也有限制,并且对默认的 1/1/0000 DateTime 值犹豫不决。

关于c# - MVC3 AJAX 表单 - 日期时间溢出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11649896/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com