使用布局文件(Layout)

布局文件类似于web form中的母版页,定义一个布局文件,然后在需要使用的视图中指定使用的布局文件,视图会把当前的动态绑定的数据传递到布局文件中,布局文件中也可以访问到这些数据。渲染视图文件中的数据在布局文件中必须使用@RenderBody()方法进行渲染,如果要使用视图文件中的数据就可以使用:@ViewBag.Title来访问视图文件中的数据。

Index.cshtml

@{
Layout = "~/Views/Shared/_SiteLayout.cshtml";//声明使用的布局页面
}

Index视图页面
<!-- 定义一个接 -->
@section Footer{
This is the default footer
}

 

_SiteLayout.cshtml

<!DOCTYPE html>

<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>@ViewBag.Title</title>
</head>
<body>
<div>
@RenderBody()
<!-- 渲染节,节在视图中定义 -->
<footer>
@RenderSection("Footer")
@if (IsSectionDefined("Footer2"))
{
<!-- 可选节点,如果视图中未定义的话也不会报错 -->
@RenderSection("Footer2", required: false)
}
else
{
<span>视图中未定义这个节点的内容,显示默认内容</span>
}
</footer>
</div>
</body>
</html>

 

当我们创建一个布局文件的时候Views文件夹下面会自动的创建一个_ViewStart.cshtml文件并指定了一个默认的布局文件,共享(Shared)目录会创建一个默认使用的布局文件。_ViewStart.cshtml视图会优先运行于任何同目录或者子目录下的视图,如果多个视图有用共同的设置那么我们就可以在这个文件中进行统一的设置,可以在视图中重新设置Layout的值,如果不重新设置值,那么将会使用_ViewStart.cshtml中设置的布局值。

_ViewStart.cshtml

@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
统一的视图

 

运行程序输出结果:

 

转载于:https://www.cnblogs.com/frank888/p/4529489.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值