Razor做邮件内容动态生成器

版权声明:本文为马立弘原创文章,欢迎引用,谢绝转载。 https://blog.csdn.net/manimanihome/article/details/53615436
Razor做邮件内容动态生成器
也可以用来做静态页面生成器

方法一:
var template = "Hello @Model.Name! Welcome to Razor!";
var viewData = new { Name = "World" });
var result = Razor.Parse(template, viewData);

方法二:
var stringWriter = new StringWriter();
var viewContext = new ViewContext(controllerContext, view, viewData, TempData, stringWriter);
view.Render(viewContext, stringWriter);
var result = stringWriter.ToString();
参考:
http://blog.csdn.net/dyllove98/article/details/8709512

示例:
Markdown mk = new Markdown();
string content = mk.Transform(article.Content);//markdown转换html
var model = new
{
    ID=  article.ID,
    Title = article.Title,
    Content = content,
    Link = article.Link,
    WriteTime = article.WriteTime,
    Description = article.Description,
    Author = article.Author,
};
string text = Engine.Razor.RunCompile(WebSource.Instance.DetailTemplate, "templateDetail", null, model);//razor转换html
string outputFilePath = string.Format("{0}/output/{1}", AppDomain.CurrentDomain.BaseDirectory, article.Link);
Directory.CreateDirectory(outputFilePath);//创建目录
File.WriteAllText(outputFilePath + "/index.html", text);//写入文件

参考:
http://www.cnblogs.com/JsonYang/p/4517764.html
http://www.cnblogs.com/loui/p/MvcTemplate.html

猜你喜欢

转载自blog.csdn.net/manimanihome/article/details/53615436