Razor视图引擎
在MVC3.0版本的时候,微软终于引入了第二种模板引擎:Razor。在这之前,我们一直在使用WebForm时代沿留下来的ASPX引擎或者第三方的NVelocity模板引擎。
(1)Razor文件类型:Razor支持两种文件类型,分别是.cshtml 和.vbhtml,其中.cshtml 的服务器代码使用了c#的语法,.vbhtml 的服务器代码使用了vb.net的语法。
(2)@字符:@是Razor中的一个重要符号,它被定义为Razor服务器代码块的开始符号。例如,我们可以在View中直接写C#代码输出日期
<p>@DateTime.Now.ToString()</p>
(3)在Razor视图引擎中,我们可以使用@{code}来定义一段代码块。
(4)Razor支持代码混写:在代码块中插入HTML、在HTML中插入Razor语句都是可以的。例如,我们可以使用@来作for循环,还可以进行if判断
@for (int i = 0; i < 10; i++) { <p>@i</p> } @if (ViewData.Count > 0) { <p>ViewData有数据</p> ViewData["Key"] = "Edison Chou"; } else { <p>ViewData暂无数据</p> }
(5)输出原生的字符串:@Html.Raw(html)
(6)默认的@会解析掉html代码,还可以通过使用HtmlString类型和MvcHtmlString类型字符串输出原生包含HTML的字符串
(7) Razor服务器端注释为:@* 注释内容 *@
(8) 在Razor中提供了很多方便我们进行数据类型转换的方法以及类型判断的方法