2011-06-02 19 views
0

我知道如何處理一個使用ASP.NET MVC中的頁面繼承的單個數據結構的foreach循環,但是我想要顯示兩個不同類型數據的內容同一頁。如何做到這一點,因爲網頁只接受一個類繼承?ASP.NET MVC3 ForEach在兩個不同的數據結構上

+0

你是指兩種不同的模型? – R0MANARMY 2011-06-02 19:00:29

+0

強類型部分視圖,或者構建一個組合這兩者的獨立複合模型,並綁定到它。 – asawyer 2011-06-02 19:00:50

+0

你的意思是將模型傳遞給視圖嗎?如果不是,那麼「使用頁面繼承」是什麼意思? – 2011-06-02 19:01:34

回答

3

正如前面的人指出的,如果我們正確理解你的正確答案是composition。這個想法是給頁面一個模型,其中包含兩個其他模型,例如。

public class Car { 
    public Motor Engine { get; set; } 
    public List<Seat> Seats { get; set; } 
} 

這裏的想法是,你的類現在從ViewPage<Car>派生,它允許你這樣做:

坐在behing一個<%= Model.Engine.ToString()%>引擎,主要有:

<ul> 
<% foreach(var seat in Model.Seats) { %> 
     <li><%= seat.ToString() %> 
<% } %> 
</ul> 

希望這回答你的問題。

+0

多麼簡單的方法。感謝那個頭腦麻木的簡單概念:) – XBigTK13X 2011-06-02 19:12:35

3

我知道這兩種選擇:

  1. 使包含兩個子類(視圖模型)類。
  2. 使用ViewData或ViewBag將一個或多個實例傳遞給視圖。
1

組成

0

創建一個視圖模型類。

class ViewModel 
{ 
    MyClass1 Object1 { get; set; } 
    MyClass2 Object2 { get; set; } 
} 
相關問題