임시 데이터를 피하는 또 다른 방법이 있습니다. 내가 좋아하는 패턴은 원래 렌더링과 유효하지 않은 형식의 다시 렌더링 모두에 대해 하나의 작업을 만드는 것과 관련이 있습니다. 다음과 같이 진행됩니다.
var form = new FooForm();
if (request.UrlReferrer == request.Url)
{
// Fill form with previous request's data
}
if (Request.IsPost())
{
if (!form.IsValid)
{
ViewData["ValidationErrors"] = ...
} else {
// update model
model.something = foo.something;
// handoff to post update action
return RedirectToAction("ModelUpdated", ... etc);
}
}
// By default render 1 view until form is a valid post
ViewData["Form"] = form;
return View();
그것은 어느 정도 패턴입니다. 약간 가짜. 이를 통해 양식 렌더링, 값 다시 표시 (양식이 이전 값으로 채워지기 때문에)를 처리하고 오류 메시지를 표시하는 1 개의보기를 만들 수 있습니다.
이 작업에 게시 할 때 유효한 경우 다른 작업으로 제어권이 이전됩니다.
MVC에 대한 지원을 구축하면서 .net 유효성 검사 프레임 워크 에서이 패턴을 쉽게 만들려고합니다 .