Razor 模板引擎的使用
阿新 • • 發佈:2018-08-18
包括 對象 直接 ren rdquo lai type content tmp
安裝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 模板引擎的使用