html5视图引擎,Razor视图引擎基础语法

Razor的标识符

本文页面来源地址:http://www.cnblogs.com/dengxinglin/p/3352078.html

Razor是基于framewor4以上写的一个开源项目:https://github.com/Antaris/RazorEngine/

Razor是包含了模板引擎和动态编译两部分。本部分就简单记录了模板引擎的一些语法,之后用Razor做一个代码生成器,就使用Razor的语法来。

Razor的发布是和MVC一起的,作为MVC的视图模板引擎。

Razor文件类型

Razor可以在vb.net和C#中使用。分别对应了两种文件类型,.vbhtml和.cshtml

Razor的标识符

@字符被定义为Razor服务器代码块的标识符,后面的表示是服务器代码了。web form中使用中写服务器代码一个道理。在vs工具里面提供了代码着色和智能感应的功能。如下面代码:

@{string userName= "邓星林";}@userName

@DateTime.Now.ToString("yyyy-MM-hh")

Razor的作用域

在上面一个例子中都已经使用到了大括号{},不错,大括号里面的就是表示作用域的范围,用形如@{code}来写一段代码块。

@{string userName= "邓星林";    @userName}

在作用域(代码块)中输出也是用@符号的。

用Razor和html代码混合编写

在Razor中写html代码和html代码中写Razor语句都是可以的,并且还有智能提示。

a.在作用域内如果是以html标签开始则视为文本输出

b.如果要输出@,则使用@@

c.如果要输出非html标签和非Razor语句的代码,则用@:,他的作用是相当于在处于html下面编写一样了,如在@:后面可以加上@就是表示Razor语句的变量

如:

copycode.gif@{var str = "abc";下面会输出:this is a mail:dxl0321@qq.com, this is var: abc,this is mail@str,this is @;

@: thisis a mail:dxl0321@qq.com, thisisvar: @str,thisis mail@str,thisis@@;//下面输出abc@str  }

copycode.gif

Razor作用块注释

razor作用块里面本身就是服务器代码了,因此可使用服务器代码的注释,注释有//和/**/分别是单行注释和多行注释。

另外razor注释还可以使用自身特有的@* 注释的内容 *@,支持单行和多行的。

copycode.gif@{   @*多行注释       多行注释*@var i = 10; @* asdfasf *@}

copycode.gif

Razor类型转换

As系列扩展方法和Is系列扩展方法

AsInt(), IsInt()

AsBool(),IsBool()

AsFloat(),IsFloat()

AsDecimal(),IsDecimal()

AsDateTime(),IsDateTime()

ToString()

@{var i = “10”;}

i = @i.AsInt()

razor其它

@Href("~/")//表示网站的根目录

@Html.Raw(Module.Content)输出HTML,如:@Html.Raw('红字'),就会显示出红色的”红字“,不用的话会直接显示这段html字符串(红色文字)

在实际中,比如一个网站,整过框架是一样的,而有的地方是很多相同的版块。因此我们需要复用。

布局(Layout)

layout方式布局就是相当于一个模板一样的,我们在它地址地方去添加代码。相当于定义好了框架,作为一个母版页的,在它下面的页面需要修改不同代码的地方使用@RenderBody()方法

copycode.gif我的网站 - @Page.Title@RenderBody()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值