2012-03-22 1 views
3
내 최신 프로젝트 조치를 런타임 (간단히 말해서에서 다른보기를 반환 포함

, 응용 프로그램은 사용자와 다른 고객의 번호를 가지고, 그들은 자신의 사용자 정의 데이터 입력 양식을 원하는 디자인 -이 양식들은 모두 동일한 모델 객체 그래프를 공유하지만 모델 데이터의 표시는 근본적으로 다릅니다.) ...ASP.NET MVC는 - 런타임에 다른보기위한 모델 결합은

예를 들어, "사례"엔티티는 여러 사람을 연관시킵니다. 일부 형태는 다른 형태의 여러 사람을 지원 한 사람의 필드를 표시하고, 다른 하나는 모든 사람의 정보를 포함하지 않습니다. 또한 양식의 필드 수준이 다릅니다. 많은 양식에는 다른 양식이 많이 있습니다. 이 때문에 근본적으로 다른 행동

, 나는 내가 각보기 디자인에 대해 서로 다른 모델 바인더를해야합니다 생각합니다.

에 유래이 경우, 또는 코드의 간단한 유지 대체 솔루션에 취할 행동의 과정을 추천 할 수 있습니다.

답변

2

모든 뷰 모델은 공통 추상 기본 뷰 모델에서 파생 경우에 당신은 당신의 POST 조치가 매개 변수로이 일반적인 뷰 모델을 다음의 인스턴스를 사용자 정의 모델 바인더를 작성하고 각보기가를 보내는 가정 올바른 인스턴스를 바인딩 할 수 구체적인 유형을 포함하는 추가 매개 변수.

다음은이 작업을 수행 할 수있는 방법의 an example입니다.