安装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>
原文:https://www.cnblogs.com/guohu/p/9496692.html