2011-08-05 53 views
1

使用帶有Razor視圖的ASP.NET MVC 3。我有一個部分視圖,我想在所有頁面上呈現,因此我將它放在網站的主佈局頁面中。但是,我不確定將數據加載到局部視圖的最佳方式。我可以爲每個ActionMethod加載它,但是有一種方法可以在整個應用程序中全局執行此操作嗎?如何將內容加載到佈局視圖中的ASP.NET MVC部分視圖

回答

2

將您的部分的所有數據加載邏輯移入單獨的操作方法。

然後在您的佈局頁面中,而不是通過調用RenderPartial()渲染部分,而是調用RenderAction()方法。

RenderAction()進行一個「子」動作調用 - 從而將該部分所需的所有邏輯放到一個地方。

2

在MasterController中爲這個局部視圖編寫動作,因爲每個控制器都從它繼承,並將你的局部視圖放在共享文件夾中並在站點的主頁面上調用它(就像每個站點都有一個用戶控件,在其他顯示登錄用戶信息)...希望它回答你的問題...

+0

是不是這爲MVC 2使用舊的母版頁/ usercontrols?正如我所說我正在使用剃刀。 – Judo

+0

對不起誤解......沒有在MVC3上工作,但我正在閱讀一篇關於MVC3的文章,chk it here http://weblogs.asp.net/scottgu/archive/2010/10/22/asp-net-mvc-3- layouts.aspx並檢查_ViewStart文件的一部分...我認爲你正在尋找... –

相關問題