使用Razor引擎模板生成字符串

使用Razor引擎模板生成字符串,类似于T4模板,T4要学语法,Razor就是就用c#了


安装依赖包

Install-Package RazorEngine.NetCore

生成代码

class Program
{
    static void Main(string[] args)
    {
        //简单使用
        string template = "Hello @Model.Name, welcome to RazorEngine!";
        var result = Engine.Razor.RunCompile(template, "templateKey", null, new { Name = "World" });
        Console.WriteLine(result);

        //带html标签
        string template1 = "@Raw(Model.Data)";
        var model1 = new { Data = "My raw double quotes 

appears

here \"hello!\"" }; string result1 = Engine.Razor.RunCompile(template1, "templateKey1", null, model1); Console.WriteLine(result1); //使用模板文件 string filePath = "StudentTemplate.cshtml"; var userTemplate= File.ReadAllText(filePath); string result2= Engine.Razor.RunCompile(userTemplate, Guid.NewGuid().ToString(), typeof(User), new User { CreateTime = DateTime.Now, EmailAddress = "

[email protected]

", UserName = "IGeekFan" }); Console.WriteLine(result2); } } public class User { public string UserName { get; set; } public string EmailAddress { get; set; } public DateTime CreateTime { get; set; } }

cshtml模板

@{
    var gen = Model as RazorTemplate.User;
}

//=============================================================
// 创建人:            @gen.UserName
// 创建时间:          @gen.CreateTime
// 邮箱:             @gen.EmailAddress
//==============================================================

123

@Raw("www.baidu.com")

运行截图

使用Razor引擎模板生成字符串_第1张图片


参考资料

  • FreeSql.Generator命令行代码生成器是如何实现的
  • RazorEngine issues with @Html

你可能感兴趣的:(使用Razor引擎模板生成字符串)