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.model4.2新增乙個資料夾templates,然後新增乙個html檔案,將副檔名改為cshtml。這個檔案屬性改為內容content,總是拷貝copy always。public string lastname }}
@model razordemo.consoledemo.model.userinfo4.3最後修改main方法的**。hi @model.firstname @model.lastname,
welcome to use razorengine!
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.dynamicrazorengine的用途很多,只要有模板(cshtml)和模型(model)就可以使用。比如public override void execute()}}
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 ...