Model view controller 使用ASP.NETMVC将两个不同的模型传递给视图

Model view controller 使用ASP.NETMVC将两个不同的模型传递给视图,model-view-controller,partial-views,partial,Model View Controller,Partial Views,Partial,我正在尝试设置一个显示两个不同模型的视图。例如,我有一个显示客户详细信息的“详细信息”视图;我正在通过我的客户模型。我还想在页面的“客户信息”(我正在考虑使用局部视图)下有一个部分,列出他们的宠物(用于兽医实践)。我试图建立一个局部视图,在对话框中我表示要使用“宠物”模型,但没有成功。如果有任何帮助,我们将不胜感激。创建一个类型为 Pair<Customer, Pet> (or Pair(of Customer, Pet)) if using VB 配对(或配对(客户、宠物))如果

我正在尝试设置一个显示两个不同模型的视图。例如,我有一个显示客户详细信息的“详细信息”视图;我正在通过我的客户模型。我还想在页面的“客户信息”(我正在考虑使用局部视图)下有一个部分,列出他们的宠物(用于兽医实践)。我试图建立一个局部视图,在对话框中我表示要使用“宠物”模型,但没有成功。如果有任何帮助,我们将不胜感激。

创建一个类型为

Pair<Customer, Pet> (or Pair(of Customer, Pet)) if using VB
配对(或配对(客户、宠物))如果使用VB
或者只是通过一个

Pair<Customer, Pet> 
视图数据对象中的对象


然后将Pet对象传递到局部视图。

创建一个包含客户数据和Pet数据的类:

public class CustomerDetailsViewModel
{
    public Customer Customer { get; set; }
    public IList<Pet> Pets { get; set; }
}
public类CustomerDetailsViewModel
{
公共客户客户{get;set;}
公共IList宠物{get;set;}
}

这是视图的模型。在视图中,使用
Model.Customer
查看客户数据,并将
Model.Pets
传递给您的部分视图,该视图的强类型为
IList

对于Pets列表而言,部分视图非常有用。只需将强类型.ascx创建为:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<PetList>" %>

然后从主页上显示它。 您可能希望在其他页面上使用相同的pets列表控件