2016-03-05 64 views
1

我探索使用部分,以創建在我的網站的佈局可選的內容共享,如ScottGu的文章相當整齊地解釋這裏:MVC:如何創建一個共同的一部分由多個視圖

http://weblogs.asp.net/scottgu/asp-net-mvc-3-layouts-and-sections-with-razor

但是,我想要做的是添加一個側欄到與特定控制器相關的視圖,其中側欄包含與控制器相關的靜態信息。數據不會與模型綁定 - 它只是一些到外部頁面的鏈接,以及一些靜態的「幫手」文本。

我不希望每個頁面/視圖上的邊欄 - 只是在一些視圖(在我的情況下,它是與特定控制器相關的視圖)。

我不想做的是必須爲每個需要此視圖的視圖聲明相同的部分和內容。我試圖找到一些創建「共享部分」的方法 - 我可以在需要它的視圖中整齊地引用,並在控制器返回View時傳回_Layout。

部分景色似乎是與此前進的道路:

Injecting content into specific sections from a partial view ASP.NET MVC 3 with Razor View Engine

但我不知道這是去了解這個方法不對,或者有更簡潔的方式達到什麼我正在瞄準。

我一直在尋找這方面的答案,但一如既往的這種事情,我100%確定我沒有在我的搜索嘗試中使用正確的術語 - 所以如果這是重複的後道歉,基本東西,或已經在其他地方回答。

任何指針 - 即使它只是給我一些方向上的條款搜索 - 將受到歡迎!

我還沒有在這裏提供任何示例代碼,但如果它有助於表達事物,可能會觸發一些事情。

乾杯

回答

1

這聽起來像你需要佈局嵌套,而不是部分。

您可以創建主佈局,然後使用包含側欄的佈局,使其佈局屬性指向您的主佈局。然後,您可以通過指定Layout = Master.cshtmlLayout = Sidebar.cshtml

+0

謝謝埃裏克 - 這看起來正是我所需要的 - 一個不錯的,容易維護的接近。 – Clueless99

+0

對於任何人在這個線程中磕磕絆絆,下面的文章給出了嵌套佈局的一個很好的基本例子: http://www.mikesdotnetting.com/article/164/nested-layout-pages-with-razor – Clueless99

0

來選擇要使用的內容頁面的佈局,我認爲您提供的鏈接中概述的方法非常可行。

另一種替代方法是,根據在佈局中獲取側邊欄所涉及的複雜性,您可以創建單獨的佈局。

相關問題