.net html模板引擎,asp.net-您可以推荐.net模板引擎吗?

以下是对车把,RazorEngine和SharpTAL的一些测试:

namespace ConsoleApplication4

{

class Program

{

static void Main(string[] args)

{

Stopwatch sw = new Stopwatch();

//RAZOR

string razorTemplate = @"@model ConsoleApplication4.Test

@Model.Title

@if(Model.Condition1)

{

condition1 is true

}

@foreach(var movie in Model.Movies)

{@movie}

";

//burning

Engine.Razor.RunCompile(razorTemplate, "templateKey", typeof(Test), new Test());

sw.Start();

var result1 = Engine.Razor.RunCompile(razorTemplate, "templateKey", typeof(Test), new Test());

sw.Stop();

Console.WriteLine("razor : "+sw.Elapsed);

//SHARPTAL

string sharpTalTemplate = @"

${Title}

condition1 is true

${movie}
";

var test = new Test();

var globals = new Dictionary

{

{ "Movies", new List {test.Movies[0],test.Movies[1],test.Movies[2] } },

{ "Condition1", test.Condition1 },

{ "Title", test.Title },

};

var tt = new Template(sharpTalTemplate);

tt.Render(globals);

sw.Restart();

var tt2 = new Template(sharpTalTemplate);

var result2 = tt2.Render(globals);

sw.Stop();

Console.WriteLine("sharptal : " + sw.Elapsed);

//HANDLEBARS

string handleBarsTemplate = @"

{{Title}}

{{#if Condition1}}

condition1 is true

{{/if}}

{{#each Movies}}

{{this}}

{{/each}}

";

var tt3 = Handlebars.Compile(handleBarsTemplate);

sw.Restart();

var result3 = tt3(new Test());

sw.Stop();

Console.WriteLine("handlebars : " + sw.Elapsed);

Console.WriteLine("-----------------------------");

Console.WriteLine(result1);

Console.WriteLine(result2);

Console.WriteLine(result3);

Console.ReadLine();

}

}

public class Test

{

public bool Condition1 { get; set; }

public List Movies { get; set; }

public string Title { get; set; }

public Test()

{

Condition1 = true;

Movies = new List() { "Rocky", "The Fifth Element", "Intouchables" };

Title = "Hi stackoverflow! Below you can find good movie list! Have a good day.";

}

}

}

结果:

lRstO.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值