關於Razor模板引擎
1.簡介
模板引擎:Razor、Nveocity、Vtemplate。Razor有VS自動提示。使用起來會方便一點。
但是Razor大多是在MVC下使用的。
那么如何在非MVC下使用Razor呢?
2.非MVC下使用Razor
借助開源的RazorEngine,我們就可以在非asp.net mvc項目中使用Razor引擎了。
甚至在winform項目中都可以使用Razor(就可以寫一些靈活度較高的代碼生成器了)。
3.RazorEngine下載地址
4.工作流程
通過和楊中科大大的交流,我大致得出了Razor的工作流程,如下圖所示。本篇博文大致脈絡
大體上依據這張圖。
嘗試使用
1.導入DLL
2.創建cshtml
在非mvc項目中創建cshtml文件(cshtml文件可以用自動提示)
方法很簡單,新建一個html,新建的時候改名為XX.cshtml即可。
像這樣我們的前期准備工作就做完了!開始玩兒起來吧。
3.用c#語法在cshtml中寫一個循環
@{}中可以寫C#代碼,C#代碼可以和html代碼混排,
像下圖這樣寫是可以的,讓小編想起了做php的歲月。
4.在一般處理程序中讀取
從開頭的流程圖得知,想讓程序轉起來,還得用Razor對象,讀取一下cshtml。
讓他形成一個程序集,再生成html。
圖上畫這繞,其實用起來並不太復雜。
像下圖這樣就可以了。
5)cshtml如何讀取對象中的值
1)首先在一般處理程序中,調用Parse方法的時候多給一個參數。
這個參數,就是你在cshtml中想要讀取對象。(理論上啥都行)
2)然后再cshtm中就可以找到這個對象了。
@Model.Age
@Model.Name
可以把這段代碼寫在cshtml中,想在哪輸出就在哪輸出。
結尾
至此,我們解決了,如何在非mvc下使用Razor模板引擎的幾個基礎問題。
1)如何創建環境。簡單說 導入dll,創建cshtml文件
2)@{}的方式嵌入C#代碼。 混編的效果
3)在cshtml中如何獲取對象的值
基本上就是這些吧。