正如我所看到的主布局和局部视图具有相同的功能。例如我有一个主布局页面,其中有<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