2011-11-20 64 views
0

我正在使用Asp.Net MVC 3.0,我在共享文件夾中有_layout.cshtml。問題是我想在這個應該從數據庫加載的.cshtml中生成菜單。但據我瞭解_layout.cshtml將不會有任何行動等相關的地方,我可以寫邏輯,我不想在cshtml本身寫所有的代碼。是否有任何選項可以在共享文件夾中爲cshtml編寫邏輯?我應該在哪裏編寫邏輯從數據庫獲取菜單?

回答

1

您可以設置控制器和視圖來呈現菜單並在_layout.cshtml內調用它。

@{ Html.RenderAction("Index", "Menus"); } 
1

Eranga是正確的,但讓我擴大他的答案,專門回答你的問題。

你可以做的是創建一個新的控制器(例如「菜單」),並創建一個名爲default的操作。讓這個動作返回一個視圖,隨心所欲地調用它。現在轉到您的共享文件夾,並使用您指定的名稱添加視圖。

現在是很酷的部分。默認情況下,MVC框架將首先查看controllername/viewname路徑,如果失敗,它將查看您的shared/viewname路徑,這是您剛剛創建的視圖所在的位置!整潔,嗯? ; p

查看http://www.aspnetmvcninja.com/views/view-search-paths瞭解關於MVC搜索路徑的更多信息。

相關問題