@RenderBody @RenderPage @RenderSection

 

 @RenderBody

 

  • 介绍

当创建基于_Layout.cshtml布局页面的视图时,视图的内容会和布局页面合并,而新创建视图的内容会通过_Layout.cshtml布局页面的@RenderBody()方法呈现在标签之间。

即当View引用_Layout.cshtml时,Views的内容会显示在_Layout.cshtml @RenderBody() 方法的位置上,从而保证了_Layout.cshtml的通用性。

 


 

 

@RenderPage

 

  • 介绍

使用 @RenderPage() 法可以将一个另一个指定页面,嵌入到方法所在的位置。比如通用的页眉、页脚等,可以在单独的页面设计,使用@RenderPage() 调用。

*@RenderPage()只能在_Layout.cshtml页面使用。

*被调用的页面应放置在Views/Shared 共享视图文件夹下。(待调查)

 

  • 方法调用
@RenderPage("~/Views/Shared/test.cshtml")

 

向test页面传递参数用法如下

@RenderPage("~/Views/Shared/test.cshtml", new { Title = "标题", Author = "作者"})

 

获取参数时使用

@PageData["Title"] 
//或者 
@Page.Title

 


 

@RenderSection

 

  • 介绍

如果某个视图模板中定义了一个节,那么可以把它单独呈现出

  

  • 方法调用
@RenderSection("head", false)//第二个参数表示,这个结点是否是必须的,如果是必须的,那么引用这个layout的页面必须定义相应结点,否则编译会报错。

或者

@if (IsSectionDefined("head"))//先判断是否定义了结点
{
    @RenderSection("head", false)
}
else
{
    <p>SubMenu Section is not defined!</p>
}

 

定义结点方法如下

@section Head{  
    //结点内容
}  

 

转载于:https://www.cnblogs.com/JooJoBlogs/p/10497622.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值