在mvc中有RenderPage 用来呈现其他视图的内容,而在nancy中没有RenderPage。怎么办呢?

mvc中RenderPage的替代品,就是 Html.Partial。

使用方式 @Html.Partial("partView", this.Context.CurrentUser) ,其实和RenderPage 差不多一样。第一个参数视图名,第二个是传入的参数,dynamic类型。

其他的使用也类似,比如IsSectionDefined和 RenderSection

页面模板中如下 @RenderSection("head", required: false)

所有子页都没有实现这个Section 的时候,母版页可以有自己的呈现内容,就可以用IsSectionDefined

  @if (IsSectionDefined("FirstSection")) {
@RenderSection("FirstSection", required: false)
} else {
<div>OptionalSectionDefault</div>
}

页面视图

 @section Header
{
<!-- This comment should appear in the header -->
}
<h1>Hello @Model.FirstName</h1>
<p>This is a sample Razor view!</p>
@section Footer
{
<p>This is footer content!</p>
<img src='@Url.Content("~/content/face.png")' alt="Face"/>
}
04-16 19:07