1

我刚刚开始使用 ASP.NET MVC 4 的新项目,我有疑问。

如何在一个视图中使用多个模型(或 ViewModel-s)?我在 Internet 上进行了搜索,标准解决方案是“创建具有 2 个或更多属性的复杂视图模型”,例如:

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

但是,例如,在每个页面中,我将至少有2 个模型 - LoginModel 和另一个模型(取决于页面)。那么,我需要在每个 ViewModel 中定义 LoginModel 吗?

PS:我正在使用 ASP.NET MVC 4,实体框架 5。

4

1 回答 1

5

您可以创建 BaseViewModel 并定义 LoginModel 属性并从 BaseViewModel 继承所有视图模型,因此您无需在将创建的每个视图模型中定义 LoginModel。

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

public class ComplexViewModel : BaseViewModel
{
    public CartModel CartModel { get; set; }
}
于 2013-06-26T05:59:34.823 回答