2013-06-26 76 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:我使用ASP.NET MVC 4,實體框架5.

+1

您可以在主視圖中使用PartialView,該視圖可以包含其自己的單獨模型。也許試圖研究這個,有很多很好的教程 – Longball27

+1

如果你在許多其他模型中有LoginModel,你可以爲LoginModel創建一個單獨的類,並在你所有的其他模型中繼承這個類。 –

+1

您可以擁有這些模型屬性的基類。 – Giedrius

回答

5

您可以創建BaseViewModel並定義LoginModel財產和繼承BaseViewModel所有視圖模型,所以你不需要在每一個定義LoginModel查看您將創建的模型。

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

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

感謝您的好解決方案! – lewis

+0

這是一個完美的解決方案感謝和許多非常感謝... – Rajpurohit

相關問題