2012-07-02 6 views
0

나는 이것에 매우 새롭고 프로그래밍과 관련이없는 일을 위해 프로그래밍을하고 있으므로 부드럽게하십시오. :)다른 날짜를 자동 채우기 할 때 날짜를 nullable로 유지 하시겠습니까?

이 응용 프로그램은 MVC 3에 있으며 두 개의 다른 날짜를 처음 만드는 데 매우 효과적입니다. 그러나 첫 번째 날짜는 null입니다. 이 코드를 추가하기 전에 필드를 채우지 않고도 항목을 만들 수 있습니다. 필드를 비워두면 항목이 폭발합니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

[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); 
    } 

답변

0

이 시도 : 당신의 if 표현식이 참 있도록

if (procedure.HasValue) 
    { 
     procedure.ScheduledReview = procedure.Effective.Value.AddMonths(-1); 
     procedure.UserReview = procedure.Effective.Value.AddMonths(-3); 
    } 

널 날짜가, DateTime.MinValue 동일하지 않은, 다음 아마 NullReferenceException이 던지고 다음을 사용하여 값을 할당 할 때 procedure.Effective.Value

+0

완료! 너무 감사합니다! :) –

관련 문제