2

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

4

3 回答 3

2

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

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

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

于 2009-11-11T22:15:24.273 回答
2

部分视图将非常适合宠物列表。只需创建一个强类型的 .ascx 为:

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

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

于 2009-11-11T22:16:57.473 回答
1

制作一个严格类型的视图,采用类似的类型

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

或者只是通过

Pair<Customer, Pet> 

视图数据对象中的对象。

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

于 2009-11-11T22:13:03.557 回答