2009-08-24 80 views
2

如果我有一個母版頁與ObjectA綁定,然後是一個與ObjectB綁定的視圖,在asp.net mvc中它是如何工作的(或者它是否工作) 。asp.net MVC視圖與不同模型的主頁面綁定

母版頁可能有:

Inherits="System.Web.Mvc.ViewMasterPage<CalendarEvent[]>" %> 

和視圖的一個可能:

Inherits="System.Web.Mvc.ViewPage<Tournament[]>" %> 

你會傳遞到從控制器的看法,因爲有2種型號在這種情況下,你有約束力嗎?

這是不正確的做法,讓母版頁有綁定對象?

回答

3

嗯,你可以定義包含對象A的抽象容器:

public class ModelContainer 
{ 
    public ObjectA ObjectA { get; set; } 
} 

,然後把所有的意見,從這個類繼承並添加他們自己的數據:

public class SomeViewContainer : ModelContainer 
{ 
    public ObjectB ObjectB { get; set; } 
} 

主頁面可以訪問模型的ObjectA屬性,而單個視圖可以忽略該特定屬性並訪問他們自己需要的數據。

但我不能說我特別喜歡這種方法。如果有什麼方法可以避免在母版頁中需要模型,我寧願那樣做。