2016-10-03 2 views
2

후 나는 간단한 TestController 클래스 및 사용자 모델을 유지MVC는 값이 다시 게시

enter image description here

내가 아는 MVC가 상태이며이하는 viewstate 개념이 없습니다. 그러나 내 컨트롤러에 데이터를 게시 한 후보기를 반환하면 내 모든 데이터가 있습니다. 빈 필드는 기대되지만 게시 된 데이터로 모두 채워집니다. MVC가 다시 게시 후 값을 어떻게 인식하는지 이해할 수 없습니까?

+3

'HttpPost'에서'View'를 리턴하면 여러분은 에러 조건을 처리하고 있다는 가정이 있습니다. 그것은 'ModelState'에 게시 된 데이터를 유지하고 사용자가 수정할 수 있도록 페이지에 데이터를 다시 채 웁니다. –

+0

그리고 게시 후 빈 양식을 원한다면보기를 반환 할 때 새 사용자 개체를 포함시킵니다. –

+1

MVC가 모델을 다시 컨트롤러로 전달합니다. 모델을 다시 뷰로 전달하면 모든 데이터가 유지됩니다. 다시 게시 할 때 모델이 유효한지 확인하고 적절한 작업을 수행하십시오. 빈 뷰를 사용자에게 반환하려면 데이터를 뷰에 반환하기 전에 새 모델을 캐스팅하거나 필드를 비워야합니다. –

답변

1

를 사용하는 당신이 처리된다는 것입니다 필요 오류 조건. ModelState에 게시 된 데이터를 유지하고 사용자가 수정할 수 있도록 페이지의 데이터를 다시 채 웁니다.

2

당신은 당신이 HttpPost 가정에서보기를 반환 할 때 stephen.vakil

@ModelState.Clear()

public class TestController : Controller 
{ 
    public ActionResult TestAction() 
    { 
     return View(); 
    } 

    [HttpPost] 
    public ActionResult TestAction(User user) 
    { 
     ModelState.Clear() 
     return View(); 
    } 
}