2010-06-19 33 views
1

我正在開發一個類似於帶有單個portlet負載的門戶的站點。有一個Overview頁面,該視圖爲大約10個其他共享視圖調用Html.RenderPartial。所有這些視圖都是強類型的,並期望一些數據。所以,我有用於聊天,消息,狀態等的portlet。在MVC中渲染部分和數據傳遞

所有這些數據僅取決於當前登錄的用戶。 所以,局部視圖需要IChatRepository,局部視圖兩個IMessageRepository等。

問:我如何將它傳遞給視圖?我可以將所有這些數據傳遞給Overview視圖,但並不需要它。

我該怎麼辦?模型綁定在這裏有幫助嗎?我也有溫莎城堡。

回答

1

像RenderAction這樣的聲音可能更適合這種情況。如果你使用的是MVC1,你需要抓住期貨大會來使用它,如果你使用的是MVC2,它是內置的。

基本上你設置了一個控制器和動作來處理一些數據並輸出一個局部視圖。然後,您可以在Overview頁面中調用RenderAction來獲取該特定功能,並將其指向您的新控制器和操作。您可以設置您的IoC容器,以便爲該控制器提供適當的類型並採取相應措施。

這樣,您就不會將臃腫的視圖模型傳遞到Overview頁面,而只能使用所需的存儲庫。

RenderAction,瞭解它,你會愛上它。

+0

謝謝,聽起來完全像我需要的。我是如何設法錯過這個的? :) – Sparhawk 2010-06-19 21:58:32