2016-06-18 17 views
1

我有一個ASP MVC 5應用程序,它有一個名爲Member的控制器,其中包含所有與成員相關的操作和視圖。所有通過這個控制器創建的視圖都應該包含在一個作爲菜單的html中。例如,一個受歡迎的觀點可能是這樣的:如何用可重複使用的模板包裝控制器的所有視圖?

<div class="member-menu"> 
    <!-- View code goes here --> 
    <p>Welcome</p> 
</div> 

而另一種觀點認爲可能是這樣的:

<div class="member-menu"> 
    <!-- View code goes here --> 
    <p>Some other stuff here</p> 
</div> 

我想,以避免重複菜單代碼在每一個觀點,如果可能的,因爲它可能會變得更大在將來。我已經對共享視圖,子操作和自定義路由進行了一些研究,但似乎找不到適合此模式的任何內容。我在這裏很容易做到這一點嗎?

回答

1

對於這個特定的任務,它看起來像你需要一個佈局

MenuWrapperTemplate.cshtml

<div class="member-menu"> 
    @RenderBody(); 
</div> 

歡迎視圖

@{ 
    Layout = "~/Views/Shared/MenuWrapperTemplate.cshtml"; 
} 
<!-- View code goes here --> 
<p>Welcome</p> 

如果這些是真正的菜單,你希望他們在該網站的佈局/主人然後看看這裏MVC where to render menu view

您可能應該熟悉MVC和Html幫助器(Render/RenderAction/partial)以及佈局如何工作。

希望幫助

+0

這個工作很大,一旦我加入了原來的佈局,以新的佈局(即在菜單佈局我必須指定'布=「_layout」'的頂部)。這有意義嗎?謝謝! –

相關問題