최근에 MVC를 사용하기 시작했고 거의 실망하지 않았습니다. 나를 돕는 대신, 프레임 워크가 제 방식으로 들어가고 있습니다. 모델 바인딩을 제어하는 방법은 무엇입니까?
나는ActionResult Save(long id, string whichForm)
{
if (whichForm == "A")
{
var vm = CreateModel(Request.Form);
if (!TryValidate(vm))
return View(vm);
else
return RedirectToRoute("Success");
}
else ....
}
은 기본적으로 내보기 - 모델이 구축 될 때 그것의 유효성을 검사 할 때 제어 할 수 싶습니다이 (의사 코드)와 같은 컨트롤러 액션을 작성하는 것을 시도하고있다. 이것이 가능한가? CreateModel 메서드는 어떻게 구현할 수 있습니까? 이 컨트롤러 동작 내에서 여러 가지 다른 뷰 모델을 생성 할 수 있습니다.
* Rant : 뷰 모델 바인딩과 유효성 검사가 DefaultModelBinder에서 함께 혼합 된 이유를 알 수 없습니다. 코드 냄새 같아. 특히이 동작을 재정의하기 어려운 경우.
downvotes, 주셔서 감사합니다. :-) – Kugel
+1 아마도 그들은 당신의 * Rant가 마음에 들지 않았지만 당신의 견해에 대한 자격이 있고 나는이 질문에 아무런 문제가 없음을 알 수 있습니다. 질문의 결과가 좋은 대답 인 경우 문제는 IMO입니다. – AaronLS