对于内容型,不易变动的东西我们都希望给它来个静态化,还有种情况就是比如新浪云不支持.net,为了能跑起我们的网站,只能放些静态页面上面,外加jsonp来实现交互,我们知道.net中有很多模板引擎,但都不是原装的,所以基本都没有代码提示,用起来比较不爽,自razor出来后,私活中也抛弃了原先使用的NVelocity,而采用原装的razor。
好了,我们先看看怎么玩,首先我们去codeplex上下两个dll。http://razorengine.codeplex.com/
我想razor语法,大家都已经滚瓜烂熟了,不过我快一年都没接触mvc了,也忘了差不多了,就简单介绍一些吧~~~
一般来说,只要razor支持四样特性,80%的功能都可以完成。
一:简单的占位符替换
由于太简单了,就不花力气从cshtml文件中读取了,而用字符串替代。
怎么样,简单的占位符替换是不是很简单,比那些{0},{1}是不是更有语意化一些~
二:能实现的if,foreach等流程控制语句
先看看在模板中怎么玩,最最关键的是有代码提示,完完全全是我们熟悉的C#语法
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> @* 看看if语句怎么玩 *@ @if (DateTime.Now.Hour == 23) { <title>你好,现在是午夜</title> } else { <title>现在时间是:@DateTime.Now.ToString()</title> } </head> <body> <ul> @* 看看foreach语句怎么玩 *@ @foreach (var item in @Model.StudentList) { <li>@item.Name</li> } </ul> </body> </html>
再看看后台C#代码
class Program { static void Main(string[] args) { string path1 = Environment.CurrentDirectory + "../../../index.cshtml"; var index = System.IO.File.ReadAllText(path1, Encoding.GetEncoding("GBK")); var list = new List<Student>() { new Student(){ Name="张三" }, new Student(){ Name="李四" }, new Student(){ Name="王五" }, }; var result = Razor.Parse(index, new { StudentList = list }); } } public class Student { public string Name { get; set; } }
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索c#
, 简单
, 语句
, student
, razor
, name
, nvelocity模板引擎
, nvelocity
, nvelocity
Razor模板引擎
nvelocity razor、nvelocity、nvelocity模板引擎、nvelocity 语法、nvelocity for循环,以便于您获取更多的相关知识。