Asp.net mvc 3 自动填充其他日期时,如何使日期保持为空?
我对这一点非常陌生,我正在从事一项不应该涉及编程的工作,所以请温柔一些。:) 这个应用程序在MVC 3中,我的代码可以使另外两个日期依赖于第一个日期。但是,第一个日期可以为空。在我添加此代码之前,您可以创建一个项目,而无需填写该字段。现在,如果字段留空,它将爆炸。我做错了什么Asp.net mvc 3 自动填充其他日期时,如何使日期保持为空?,asp.net-mvc-3,Asp.net Mvc 3,我对这一点非常陌生,我正在从事一项不应该涉及编程的工作,所以请温柔一些。:) 这个应用程序在MVC 3中,我的代码可以使另外两个日期依赖于第一个日期。但是,第一个日期可以为空。在我添加此代码之前,您可以创建一个项目,而无需填写该字段。现在,如果字段留空,它将爆炸。我做错了什么 [HttpPost] public ActionResult Create(Procedure procedure) { if (ModelState.IsValid) {
[HttpPost]
public ActionResult Create(Procedure procedure)
{
if (ModelState.IsValid)
{
context.Procedures.Add(procedure);
if (procedure.Effective != DateTime.MinValue)
{
procedure.ScheduledReview = procedure.Effective.Value.AddMonths(-1);
procedure.UserReview = procedure.Effective.Value.AddMonths(-3);
}
context.SaveChanges();
return RedirectToAction("Index");
}
ViewBag.PossibleProTypes = context.ProTypes;
ViewBag.PossibleStatus = context.Status;
ViewBag.PossiblePendingActions = context.PendingActions;
ViewBag.PossibleOffices = context.Offices;
return View(procedure);
}
试试这个:
if (procedure.HasValue)
{
procedure.ScheduledReview = procedure.Effective.Value.AddMonths(-1);
procedure.UserReview = procedure.Effective.Value.AddMonths(-3);
}
空datetime不等于datetime.MinValue,因此如果
表达式为true,则当您尝试使用过程.effect.value指定值时,可能会引发NullReferenceException!!非常感谢!:)