2009-11-11 78 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>的強類型。

相關問題