正如我所看到的主佈局和局部視圖具有相同的功能。例如我有一個主佈局頁面,其中有<html> <head> <body>
元素。所有的頁面都從它繼承,然後我有10頁,例如他們都有相同的導航欄,我應該做什麼,我應該創建母版頁,從第一母版頁繼承,所有這10頁繼承自第二母版頁,或者我應該創建部分視圖並在全部10頁中呈現。何時使用主佈局和局部視圖MVC c#?
2
A
回答
0
他們有不同的預期用途。
主視圖可以看作是主模板或佈局,其中某個區域或模塊中的所有頁面都將使用該模板作爲基本佈局。他們經常有RenderSection和RenderBody助手標籤。
部分視圖是指當您經常使用標籤和標記的片段時,因此您將它們歸入部分視圖以重用它們。
一個典型的網站可能有一個或兩個母版頁(可能是一個面向公衆的頁面,未經過身份驗證,第二個頁面是內部的已驗證頁面)。主頁面將包含標題,正文,頁腳等部分。你經常在他們身上貼上品牌標籤,還有導航欄,甚至是新聞欄目,博客文章,或者其他你通常在周圍內容中看到的東西。
根據你的描述,聽起來你可能想要兩個不同的母版頁,每個母版頁都有一組相似的視圖。
部分視圖通常會像數據網格,頁腳或圖表或任何可重用的東西。
0
「主」是Web窗體的術語。避免在MVC環境中使用它。在MVC中,你有佈局,視圖和局部視圖。實際上,這些都只是「意見」。佈局的關鍵區別僅僅在於它將用作佈局,而視圖使用佈局。局部視圖實際上只是一個不使用佈局的視圖。
就繼承而言,由於佈局只是一個視圖,因此它既可以是佈局,也可以是使用佈局。這是你的延伸點。例如:
_Layout.cshtml
<html>
<head>
</head>
<body>
@RenderBody()
</body>
</html>
_SubLayout.cshtml
@{ Layout = "~/Views/Shared/_Layout.cshtml"; }
<div class="content">
@RenderBody()
</div>
SomeView.cshtml
@{ Layout = "~/Views/Shared/_SubLayout.cshtml"; }
<p>Foo</p>
用於SomeView.cshtml
一次渲染生成的HTML是:
<html>
<head>
</head>
<body>
<div class="content">
<p>Foo</p>
</div>
</body>
</html>
相關問題
- 1. MVC局部視圖隱藏主視圖
- 2. MVC:如何使用(渲染)從父(主)視圖(佈局視圖)部分?
- 3. 部分視圖繼承自主佈局
- 4. MVC主題,佈局和CSS
- 5. 使用緩存和數據在佈局MVC 4中渲染局部視圖
- 6. ASP.NET MVC調用另一個局部視圖的局部視圖
- 7. 我怎樣才能讓我的MVC局部視圖佈局使用劍道MVC
- 8. MVC3佈局使用jQuery和局部視圖
- 9. 在佈局中更新局部視圖
- 10. MVC局部視圖使用jQuery
- 11. MVC局部視圖使用ajax
- 12. MVC局部視圖使用jQuery
- 13. MVC使用Ajax.BeginForm更新局部視圖
- 14. MVC - 使用Ajax呈現局部視圖
- 15. ASP.NET MVC 3,局部視圖和COUNT()
- 16. ASP.NET MVC 3 Razor局部視圖 - 包含在主佈局中的jQuery
- 17. Asp.net MVC模型的視圖和佈局
- 18. MVC ViewPathProvider,數據庫視圖和佈局
- 19. 在視圖外部使用symfony佈局
- 20. 如何調用局部視圖(MVC)
- 21. MVC局部視圖後
- 22. Ajax.beginForms MVC局部視圖
- 23. 刷新MVC局部視圖
- 24. .net mvc局部視圖
- 25. MVC局部視圖列表
- 26. Asp.net MVC局部視圖
- 27. MVC3共享佈局 - 局部視圖
- 28. ASP.NET MVC 3局部視圖佈局頁面
- 29. MVC佈局VS MVC主頁
- 30. 從其他局部視圖更新局部視圖mvc
嘗試閱讀本http://weblogs.asp.net/scottgu/asp-net-mvc-3-layouts – 2014-11-08 08:20:46