MVC中RenderBody和RenderSection的使用样例

本文介绍了ASP.NET MVC中@RenderBody和@RenderSection的用法,它们用于布局页面和内容区域的组织。@RenderBody()是必须的,用于填充主要内容,而@RenderSection可以多次声明,用于定义可选或必需的侧边栏内容。通过实例展示了如何在视图中定义和使用这些部分,包括栏目导航、新闻标题和详细内容等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.@RenderBody和@RenderSection写在Shared目录下面

2.开始使用

        <div id="content">
            <div id="leftpage">
                @RenderSection("lefttitle", required: false)
                @RenderSection("leftcontent1", required: false)
                @RenderSection("lefttitle2", required: false)
                @RenderSection("leftcontent2", required: false)  
            </div>
            <div id="rightpage">
                <div class="righttitle">
                    @RenderSection("righttitle", required: false)                     
                </div>
                <div class="contentDiv">
                    @RenderBody()
                </div>               
            </div>
        </div>

@RenderBody只能声明一次,且必须声明,否则报错,@RenderSection可声明多次,可不声明,其中required:false代表引用该布局页面时,非必要使用这个RenderSection,如果是true,就一定要使用,否则报错。

3.引用布局页

@{
    ViewBag.Title = "新闻详细";
    Layout = "~/Views/Shared/HotelMain.cshtml";
}

 @section +名字 ,这个会填充到对应的RenderSection

@section lefttitle{
    <div class="lefttitle">
        栏目导航
    </div>
}
@section leftcontent1{
    <div class="content1">
        <div class="conitem">
            <a href="#">公司介绍</a>
        </div>
        <div class="conitem">
            <a href="#">企业文化</a>
        </div>
        <div class="conitem">
            <a href="#">企业荣誉</a>
        </div>
        <div class="conitem">
            <a href="#">企业荣誉</a>
        </div>
        <div class="conitem">
            <a href="#">发展历程</a>
        </div>
    </div>
}
@section righttitle{
    您现在位置:中式餐馆酒店>新闻详情
}

 剩余的没有被@section修饰的部分,会填充到@RenderBody页面中去。

<div class="newstitle" id="am">
    @Model.NewsTitle
</div>
<div class="newsdesc">
    发布时间:@Model.PublishTime&nbsp;&nbsp; 文字:【<a href="javascript:void(0)" onclick="changeFontSize('20px')">大</a>】【<a href="javascript:void(0)" onclick="changeFontSize('16px')">中</a>】【<a href="javascript:void(0)" onclick="changeFontSize('12px')">小</a>】
</div>
<div class="newscontent" id="contents" style="font-size:14px;">
   @Html.Raw(Model.NewsContents)
</div>

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值