在我的应用程序中,我有一个包含Documents列表的 Index 页面。我想在同一个索引页面上添加一个带有 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>
这是应该将新文档保存到数据库并更新文档的部分视图列表的方法:
public ActionResult Index_AddDocument(HomeIndexViewModel viewModel)
{
db.Documents.Add(viewModel.NewDocument);
db.SaveChanges();
return PartialView("ListOfDocs", db.Documents);
}
这不起作用,我在db.SaveChanges()
. 它说:
InnerException {“转换为日期时间时发生溢出。”} System.Exception {System.Data.SqlServerCe.SqlCeException}
编辑:我的文档域模型具有以下日期属性:
[DataType(DataType.Date)]
public DateTime Date { get; set; }
在 AJAX 表单中,我只需键入一个随机日期,例如 2005 年 5 月 2 日,然后单击提交,然后得到上面提到的异常。