我有一個佈局頁面和一些使用它的頁面。但我想在使用它的一些子頁面上實現導航控件。所以我想使用另一個嵌套佈局頁面。這可能嗎?我可以在MVC 3中擁有多於1個_Layout頁面嗎?爲一個cshtml頁面?
回答
是的,它的效果很好。只是告訴你的佈局頁面使用另一個佈局頁面
@{ Layout = "pathToMyOtherLayout"; }
您也可以使用部分通過父級佈局。例如:
@Section Headers {@RenderSection("Headers")}
你可以連網頁就像你可以母版頁,在_ViewStart.cshtml你將看到如何佈局頁面的定義:
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
你可以只在_Layout.cshtml添加此部分引用另一個父級,或將其添加到單個視圖以引用不同的佈局視圖。
ScottGu對Razor Layouts
我用你在一些電子商務網站,你在哪裏,在結賬過程中,我不希望有任何雜念(導航等談論這個確切的方法與詳細信息後),因此我沒有在佈局中設置一些特殊案例if checkout
,而是製作了一個LayoutBrandingOnly
和一個「繼承」它的Layout
,因此我不必重複所有品牌HTML。
通過使用部分,您可以在一個佈局頁面中很容易地解決這個問題。 支票http://weblogs.asp.net/scottgu/archive/2010/12/30/asp-net-mvc-3-layouts-and-sections-with-razor.aspx
這是可以的,當你不介意重複一堆視圖導航覆蓋空白。但是如果你有一個完整的視圖文件夾需要不同的佈局,那麼使用佈局「繼承」會更簡潔一些,這有助於你不重複自己。 –
我同意在大型項目中繼承會更乾淨,但無論哪種方式,您都必須在視圖中保留某些內容,以表示它與普通視圖不同。除非使用非常具有描述性的長名稱來定義佈局,否則覆蓋導航權限可能會比實際發生的視圖中的不同情況更具信息性,除非您使用非常具有描述性的長名稱來定義佈局,因此您無需追蹤就可以一目瞭然地傳達該信息繼承鏈。 – benjamin
好點,情景用法絕對是 –
- 1. 如何將Html.ActionLink從_Layout頁面隱藏到另一個cshtml頁面?
- 2. 我可以在ASP頁面中包含一個aspx頁面嗎?
- 3. 我可以在AngularJS中擁有一些不變的頁面嗎?
- 4. DataTemplate可以成爲一個頁面嗎?
- 5. 爲了在FB上擁有一個頁面,我必須有一個網站嗎?
- 6. 我可以在一個頁面中有多個jquery .load()事件嗎?
- 7. 一個aspx頁面可以有多個aspx.cs類來繼承嗎?
- 8. Facebook:我可以添加一個事件頁面作爲頁面
- 9. 我可以使用HTML頁面作爲另一個HTML頁面的內容嗎?
- 10. 應用程序可以擁有多少個主頁面?
- 11. JQuery:我可以在同一頁面有兩個選項卡嗎?
- 12. 我可以爲github頁面創建多個存儲庫嗎?
- 13. 在jsp頁面中可以有多個表單嗎?
- 14. 我可以知道哪些頁面在_Layout中渲染?
- 15. 可以在一個php頁面中多次調用mysql_pconnect嗎?
- 16. 擁有一個頁面可以容納所有內容的好設計嗎?
- 17. 我可以將我自己的jsp頁面導入另一個jsp頁面嗎?
- 18. 我們可以在一個頁面中調用多個ko.applyBindings方法嗎?
- 19. 多個頁面的一個xaml頁面?
- 20. 一個進程可以有多個1頁表嗎?
- 21. 我可以在SharePoint站點上使用多個主頁面嗎?
- 22. MVC在一個頁面上5多HtmlHelper.ValidationSummary
- 23. 一個asp.net mvc視圖頁面上可以有一個webform控件嗎?
- 24. 如何實現只有一個用戶可以訪問某個頁面 - MVC 3
- 25. extJs多個頁面的MVC
- 26. 無法修改CSHTML頁面中的MVC
- 27. 在頁面中繪製多個頁面
- 28. 我可以在popViewControllerAnimated上「蜷縮」一個頁面嗎?
- 29. vmalloc頁面可以交換頁面嗎?
- 30. 我可以在Asp.Net的另一頁訪問一個頁面的ViewState嗎?
通過節的細節是我所需要的 - 謝謝。 – Liam