2009-11-11 43 views
2

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

回答

2

对于宠物列表来说,局部视图会很棒。只需创建一个强类型.ascx为:

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

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

1

拨打stongly类型视图采取型等

Pair<Customer, Pet> (or Pair(of Customer, Pet)) if using VB 

或只是通过在视图中数据对象的

Pair<Customer, Pet> 

对象。

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

2

创建一个包含客户信息和PET数据的类:

public class CustomerDetailsViewModel 
{ 
    public Customer Customer { get; set; } 
    public IList<Pet> Pets { get; set; } 
} 

这是您的视图模型。在视图内,使用Model.Customer作为客户数据,并将Model.Pets传递给您的局部视图,该视图为IList<Pet>的强类型。

相关问题