ASP.NET母版页(Razor主版页面框架)

本篇介绍一下 ASP.NET 中 强大的Razor语法,以及下篇我们将介绍,在Java环境中,依靠VUE组件实现此功能。

Asp.NET Razor母版页介绍

ASP.NET 2.0 推出了MasterPage主板页面框架,ASP.NET MVC 3.0 推出的RazorView内建主版页页面框架。

Razor母版页效果简介

Razor 主板页面框架(以下称为“”母版页”)功能,是非常好用的,我们可以只写当前页面内容,而后便可以将主要页面内容载入Layout 属性所指定的Razor主板页面 ,实现共享布局。

画了一个效果图,帮助大家理解,如下:

ASP.NET Razor主板页面框架原理图

Razor母版页使用语法

1 使用主板页面框架(引入母版页)
Layout = "~/path/_Layout.cshtml"
2 “预设坑洞” 与 “具名坑洞”

在母版页里,和 一般的Razor检视页面语法差不多,多了两种特殊的语法——@RenderBody() 和@RenderSection(),也就是所谓的“坑洞宣言”。

@RenderBody() 在Razor主版页面中,可以视为“预设坑洞”,也就是说主要页面在没有特别声明的情况下,内容都会填入到RenderBody() 位置,也就是所谓的预设坑洞。

@RenderSection() : 我们在主版页面中,定义一个名为 “left“”的坑洞(坑洞名称), 第二个required具名参数 是声明 这个坑洞是否必须被填满,所有载入主版页面的VIew页面必须输入对应的内容,否则就会发生异常。

在View页面中,使用”@section left{ xxx}” 语法,这样代码区块,就会载入到 主板页面中的 指定内容区。

Razor页面执行顺序

Razor页面由固定的执行顺序, 主要是先执行 View,再执行Layout主版页面。

Razor数据传递

View 和 ;Layout 共用一个 ViewDataDictionary 实体,因为,如果将数据传递到Layout页面中,一样可以通过 ViewData 或ViewBag的方式传递。

不过各位千万别误以为你可以从 Layout 传数据回 View页面,因为执行顺序是不一样的。

参考文档

《ASP.NET MVC4 开发指南》

一篇博文写了好几天,图也自己画的,喜欢就点下赞吧,转载请注明出处。

猜你喜欢

转载自blog.csdn.net/shuai_wy/article/details/81034188
今日推荐