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 文字:【<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>