如何在ASP.Net MVC 3中創建視圖,將視圖的一部分創建/呈現到另一個視圖/控制器,而不知道設計時間什麼視圖/控制器將被推遲到什麼時候?如何在ASP.Net MVC 3中創建複合視圖?
我有一個使用佈局頁面的儀表板視圖/控制器。儀表板視圖完成了渲染整個屏幕的大部分工作。但是整個屏幕中的某個佔位符部分將根據業務規則,配置,用戶交互等而有所不同。可能需要在佔位符部分呈現三個單獨的插件視圖/控制器。一旦儀表板控制器確定哪個插件應該可見,我如何指示儀表板視圖呈現特定的插件視圖。我已經通過在Dashboard模型中放置標誌,然後在Dashboard視圖中使用基於標誌的相應參數調用Html.RenderAction來實現這一點。這似乎並不令人滿意,我認爲已經有一種簡單的內置功能用於這種場景,請告知。
謝謝
其實你錯過了我不知道的**設計**時間的關鍵點,哪些插件將被加載,直到**運行時**才知道。 – apalmer 2011-04-06 18:48:46
RenderPartial將一個字符串和一個對象作爲參數,在運行時很容易覆蓋。 RenderAction是一個控制器方法,因此它可以自己加載對象並找出要渲染的視圖。我知道,我已經有了一些基於窗口小部件的系統,可以完成這些工作來渲染在設計時不存在的組件。 – 2011-04-06 20:22:58