2009-04-23 2 views
15

강력한 형식의 마스터 페이지가 있지만 일부 자식 페이지에 다른 형식을 사용하고 싶습니다. 저도 같은 모델에 유지할 수 있습니다 단지는 구성원 개체를 참조하는 자식의 일부 페이지에 있도록ASP.NET MVC - 마스터 페이지 및보기 페이지의 다른 모델

예를 들어, 마스터 페이지에 ...

<%@ Master ... Inherits="System.Web.Mvc.ViewMasterPage<MyWeb.Models.Client>" %> 

클라이언트는 이미 복합 객체입니다. 그러나 다른 페이지에서 다른 모델 (예 : 고객 모델을 다루는 하위 페이지)을 처리 할 때 그렇게하는 것이 타당하지 않습니다.

내 마스터 페이지에는 여전히 클라이언트 모델이 필요하지만 하위 뷰는 완전히 다른 모델에서 작동합니다. 문제는 컨트롤러에서 하나의 개체 모델 만보기로 전달할 수 있다는 것입니다. 한 모델을 마스터에 전달하고 다른 모델을보기에 전달할 수있는 방법이 있습니까? 감사!

+0

좋은 질문, 나는 똑같은 것을 물어볼 예정였다! 나는 대답해야하지만 꼭 대답해야한다. 기안자가 말했듯이, 그렇게 간단합니다! 그럼 이제는 축하해 ;-) –

+0

같은 딜레마 - 잘 설명되어 있습니다. 고마워요. – nocarrier

답변

14

계층 구조를 만들고 기본 모델을 마스터 페이지에 전달하고 하위 모델을보기로 전달할 수 있습니다.

public class BaseModel 
{ 
} 

public class ChildModelOne : BaseModel 
{ 
} 

public class ChildModelTwo : BaseModel 
{ 
} 

이 방법, 당신은 당신이 뷰는 자식 모델 클래스에서 사용할 수있는 확장 된 정보에 액세스 할 수 있습니다 동안보기 만 (마스터 모델 클래스에서 사용할 수있는) 자신의 데이터를 볼 수 마스터.

매우 간단합니다.

+0

환상적. 우아하고 훌륭합니다. – nocarrier

관련 문제