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?

附言:我使用的是ASP.NET MVC 4,实体框架5。

您可以创建BaseViewModel并定义LoginModel属性,并从BaseViewModel继承所有视图模型,这样您就不需要在将要创建的每个视图模型中定义LoginMode。

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

最新更新