2013-03-04 2 views
0

새 항목을 만들지 만 일부 데이터를 미리 채울 양식을 만들고 싶습니다. 특히 내가 원하는 날짜는 DateTime.Now이고 결국에는 내 사용자의 옵션을 수정하지 않고이 데이터를 모델과 연결하십시오. Object reference is not set to an instance of an object.Mvc는 모델에 링크 할 데이터로 날짜 필드를 미리 채 웁니다.

나는 많은 솔루션을 통해 검토 한 것을 말하는 줄 Model.m_OrderDate = currenDate에서 런타임에

@using (Html.BeginForm()) { 
{ 
    var currentDate = DateTime.Now; 
    Model.m_OrderDate = currentDate; 
} 
@Html.ValidationSummary(true) 
(...) 
Order Date: @Html.DisplayFor(model => model.m_OrderDate)<br/> 

<p> 
    <input type="submit" value="Create" /> 
</p> 
</fieldset> 

그러나 응용 프로그램 충돌을하지만, 그것을 해결하기 위해 아직 : 지금까지 여기

내가 한 일이다 . 누구든지 나를 도울 수 있습니까? 고마워요! 모델에서

+2

Model 개체가 null 인 것 같습니다. 컨트롤러에서 초기화하는 것입니까? –

+0

자린 바와 똑같은 것을 보았습니다. 아니요, 컨트롤러에서 초기화되지 않았습니다. 지금까지, "만들기"보기에서 아무것도 초기화하지 않지만 그렇게하려고합니다. 좋은 지적! – hsim

+0

간단합니다. @ RuiJarimba 감사합니다! – hsim

답변

1

:

private DateTime? orderDate = null; 
public DateTime OrderDate 
{ 
    get { return orderDate ?? DateTime.Now; } 
    set { orderDate = value; } 
} 

유일한 다른 조각이 당신이 당신의 GET보기에 초기화 된 모델을 통과하는 것입니다, 즉 :

public ActionResult MyAwesomeView() 
{ 
    return View(new MyModel()); 
} 

기본값은 자동으로 채워집니다.

관련 문제