Razor 模板引擎的使用
Posted guohu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Razor 模板引擎的使用相关的知识,希望对你有一定的参考价值。
安装Razor的模板引擎,通过vs的“扩展管理器”,查找"RazorEngine"并安装。安装的dll包括”RazorEngine.dll“和”System.Web.Razor.dll“
下载:RazorEngine
主要使用RazorEngine.Razor 类下的静态方法Parse(string razorTemplate, object model)方法,razorTemplate是模板文本,model是数据对象。
1>定义实体类
public class Articles { /// <summary> /// 文章ID /// </summary> public int Id { get; set; } /// <summary> /// 文章标题 /// </summary> public string Title { get; set; } /// <summary> /// 文章内容 /// </summary> public string Content { get; set; } /// <summary> /// 作者 /// </summary> public string Author { get; set; } /// <summary> /// 发布时间 /// </summary> public DateTime CreateDate { get; set; } }
2>一般处理程序
razorTemplate模板文本可以直接拼接,一般模板文本写到.cshtml的html文件中。
<%@ WebHandler Language="C#" Class="razor" %> using System; using System.Web; public class razor : IHttpHandler { public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; var model = new Articles() { Id = 1, CreateDate = DateTime.Now, Title = "Razor代码生成器", Content = "代码生成器内容", Author = "ITPROBIE.COM" }; //string path = HttpContext.Current.Server.MapPath("razor.cshtml"); //string razorTmpl = System.IO.File.ReadAllText(path);
//和直接从razor.cshtml读取的内容是一样的 string razorTmpl = @"<h1>@Model.Title</h1> <p>作者:@Model.Author - 发布时间:@Model.CreateDate</p> <p>@Raw(Model.Content)</p>"; string html = RazorEngine.Razor.Parse(razorTmpl, model); HttpContext.Current.Response.Write(html); } public bool IsReusable { get { return false; } } }
razor.cshtml
<h1>@Model.Title</h1> <p>作者:@Model.Author - 发布时间:@Model.CreateDate</p> <p>@Raw(Model.Content)</p>
以上是关于Razor 模板引擎的使用的主要内容,如果未能解决你的问题,请参考以下文章