由于我们是前后端分离的 WebAPI 项目,所以并没有引入完整的 asp.net core mvc 框架,所以,今天在 Hoa 框架中集成 RazorEngine 功能
简单入门
非强类型
var templateText = @"Hello @Model.Name.";
var result = RazorEngineHelper.RunCompile(templateText, new { Name = "Hoa" }); // => Hello Hoa.
由于编辑模板需要付出昂贵的性能代价,所以 Hoa 框架只在首次编译模板后就将模板缓存起来并生成 .dll文件。这样就无需担心后续性能问题了。
强类型模型
var templateText = @"Hello @Model.Name.";
var result = RazorEngineHelper.RunCompile<Model>(templateText, new Model{ Name = "Hoa" }); // => Hello Hoa.
加载.cshtml文件
// 非强类型
var cshtmlPath = "你的.cshtml完整路径";
var result = RazorEngineHelper.RunCompileViewPath(cshtmlPath, new { Name = "Hoa" }); // => Hello Hoa.
// 强类型
var result = RazorEngineHelper.RunCompileViewPath<Model>(cshtmlPath, new Model{ Name = "Hoa" }); // => Hello Hoa.
public class CustomModel
{
public int A { get; set; }
public string B { get; set; }
public string Decorator(object value)
{
return "-=" + value + "=-";
}
}
编译模板
var result = RazorEngineHelper.RunCompile<CustomModel>(templateText, u => {
u.A = 10,
u.B = "Hoa"
});