模版引擎RazorEngine簡介

2022-07-27 09:06:17 字數 1655 閱讀 6054

asp.net mvc的razor想必大家都比較熟悉,這裡介紹乙個獨立於asp.net的razorengine。

razorengine是乙個開源的專案,它的基礎就是asp.net mvc的razor。github專案位址。

您可以在windows console或者windows forms使用它。

下面簡單介紹如何使用。

1.建立乙個windows console

2.通過nuget安裝razorengine

3.下面先介紹使用字串替代cshtml檔案模板的**。

using razorengine;

using razorengine.templating;

namespace razordemo.consoledemo

); console.writeline(result);

console.read();}}

}

執行程式,檢視結果。

4.下面是使用cshtml檔案作為模板的**。

4.1新增乙個model資料夾,然後新增乙個類userinfo作為model。

namespace razordemo.consoledemo.model

public string lastname }}

4.2新增乙個資料夾templates,然後新增乙個html檔案,將副檔名改為cshtml。這個檔案屬性改為內容content,總是拷貝copy always。

@model razordemo.consoledemo.model.userinfo

hi @model.firstname @model.lastname,

welcome to use razorengine!

4.3最後修改main方法的**。

using razorengine;

using razorengine.templating;

using razordemo.consoledemo.model;

namespace razordemo.consoledemo

; var result = engine.razor.runcompile(template, "templatekey2", null, model);

console.writeline(result);

console.read();}}

}

執行程式,檢視結果。

執行程式的時候console可能

會輸出一大串有關臨時檔案的資訊,可以忽略。如果想去掉,請參考這裡。

其實在後台razorengine將模板和模型結合後生成了乙個對應的臨時類檔案,然後呼叫execute方法生成最終結果。

namespace compiledrazortemplates.dynamic

public override void execute()}}

razorengine的用途很多,只要有模板(cshtml)和模型(model)就可以使用。比如

1)製作乙個**生成器

2)生成郵件正文

如果不妥之處,請見諒。

模版引擎總結之綜合分析模版引擎

方式一 var str function template filename,data filename代表模版檔案的路徑 方式二 template.compile source,options 返回渲染函式 方式三 template.render source,data,options 返回渲染結...

MGTemplateEngine模版引擎

如果你用過php的smarty,你一定知道模板引擎說的是什麼。matt gemmell開發了乙個基於cocoa的類似的模板引擎,叫做mgtemplateengine。mgtemplateengine是一套cocoa的模板系統,基於模板和資料來生成文字輸出,非常類似smarty freemarker和...

NVelocity模版引擎

需要引用外部的nvelocity.dll檔案 person類 的摘要說明 三。合併模版引擎要載入的模版檔案與velocitycontext物件,合併完成後模版引擎內部就會對模版與資料進行整合,並生成新的內容 using stringwriter strwriter new stringwriter ...