Asp.net 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) {

我对这一点非常陌生,我正在从事一项不应该涉及编程的工作,所以请温柔一些。:)

这个应用程序在MVC 3中,我的代码可以使另外两个日期依赖于第一个日期。但是,第一个日期可以为空。在我添加此代码之前,您可以创建一个项目,而无需填写该字段。现在,如果字段留空,它将爆炸。我做错了什么

 [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!!非常感谢!:)