在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"/>
}