我有一個ASP.NET MVC應用程序,我想動態地選擇局部視圖和數據傳遞給它,同時保持強類型。ASP.NET MVC PartialView泛型ModelView
因此,在主窗體中,我想要一個具有視圖模型的類,該視圖模型包含一個應該包含局部視圖視圖模型數據的一般類型屬性。
public class MainViewModel<T>
{
public T PartialViewsViewModel { get; set; }
}
在用戶控制,我想是這樣的:
Inherits="System.Web.Mvc.ViewUserControl<MainViewModel<ParticularViewModel>>" %>
雖然在我父窗體,我必須把
Inherits="System.Web.Mvc.ViewPage<MainViewModel<ParticularViewModel>>" %>
爲它工作。
有沒有辦法解決這個問題?用例是使用戶控件可插入。我明白我可以繼承一個基類,但這會讓我回到像字典而不是類型化視圖模型。
我決定改變我的做法..利用MasterPage作爲主要部分的視圖,擴展每個特定的視圖。使用母版頁的抽象視圖模型,強制子頁面爲母版頁提供必要的數據。 – 2010-05-28 14:49:29