2013-06-26 4 views
1

방금 ​​ASP.NET MVC 4를 사용하여 새 프로젝트를 시작했습니다. 질문이 있습니다.ASP.NET MVC 4 - 하나의보기에서 여러 모델

하나의보기에서 여러 모델 (또는 ViewModel-s)을 사용하는 방법은 무엇입니까? 나는 인터넷을 통해 검색하고있어, 표준 솔루션은 , 예를 들어, "2 이상의 속성 복잡한 뷰 모델을 만들"입니다 :

public class ComplexViewModel 
{ 
    public LoginModel LoginModel { get; set; } 
    public CartModel CartModel { get; set; } 
} 

을하지만, 예를 들어, 각 페이지에서 내가해야 적어도 2 모델 - LoginModel 및 다른 모델 (페이지에 따라 다름). 그래서 각 ViewModel에 LoginModel을 정의해야합니까?

PS : 나는 5

+1

PartialView는 기본보기에서 사용할 수 있습니다. PartialView는 자체 별도의 모델을 포함 할 수 있습니다. 아마도 이것을 연구 해보고 거기에 좋은 자습서가 많이 있습니다. – Longball27

+1

다른 많은 모델에서 LoginModel을 사용하고 있다면 LoginModel에 대한 별도의 클래스를 만들고 다른 모든 모델에서이 클래스를 상속받을 수 있습니다. –

+1

이러한 모델 속성으로 기본 클래스를 가질 수 있습니다. – Giedrius

답변

5

ASP.NET MVC 4, 엔티티 프레임 워크를 사용하고 당신이 모든에 LoginModel을 정의 할 필요가 없습니다 있도록 BaseViewModel을 만들고 LoginModel 속성을 정의하고 BaseViewModel의 모든보기 모델을 상속 할 수 있습니다 만들 모델을 봅니다.

public class BaseViewModel 
{ 
    public LoginModel LoginModel { get; set; } 
} 

public class ComplexViewModel : BaseViewModel 
{ 
    public CartModel CartModel { get; set; } 
} 
+0

좋은 솔루션에 감사드립니다! – lewis

+0

감사합니다. 많은 감사의 뜻을 전합니다. – Rajpurohit