【发布时间】:2015-06-10 09:03:38
【问题描述】:
我目前想知道使用 ASP.NET MVC 构建多视图布局的首选方式。
例如,在基于角度的 SPA 中,将不同的视图加载到布局中非常简单:
<div ui-view="header"></div>
<div ui-view="content"></div>
.state("home", {
views: {
"header": { templateUrl: "app/_header.html" }
...
然而,在 MVC 中,似乎有多种方法可以实现某些目标,但我对“方法”最初用于什么目的感到非常困惑。
- @Html.RenderPartial() - 呈现由父级定义的“部分”
- @Html.Partial() - 好像和上面一样
- @RenderPage() - 呈现由父级定义的“页面”
- @RenderSection() - 通过 id 渲染一个“section”,section 由“body view”定义
对于常见的“页眉、正文、页脚、导航”布局,首选(或正确)方法是什么?还是只是个人喜好问题?
【问题讨论】:
-
只是一个建议添加到下面的答案 - 如果你有一个 MVC 项目,你可以查看
/Views/Shared文件夹并检查脚手架的_Layout.cshtml文件。我认为这将为您提供一个起点。根据您的目标,您还可以查看_ViewStart- 链接相对“旧”,但仍然很好/快速阅读。 Hth.
标签: c# asp.net asp.net-mvc angularjs razor