2013-06-26 4 views
1

Я только что начал новый проект, используя ASP.NET MVC 4, и у меня есть вопрос.ASP.NET MVC 4 - несколько моделей в одном представлении

Как я могу использовать несколько моделей (или ViewModel-s) в одном представлении? Я искал через Интернет, и стандартное решение «создавать сложные ViewModel с 2-х или более свойств», например:

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

Но, к примеру, на каждой странице я буду по крайней мере 2 - LoginModel и другая модель (зависит от страницы). Итак, мне нужно определить LoginModel в каждой ViewModel?

PS: Я использую ASP.NET MVC 4, Entity Framework 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