一.基礎概念介紹
t4模板是擴充套件名為 .tt 的文字檔案。 他分為設計時模板 和執行時模板。主要區別在於在vs中右鍵點選檔案,開啟「屬性」,在「自定義工具」一欄中的值分別如下:
設計時模板: texttemplatingfilegenerator
執行時模板:texttemplatingfilepreprocessor
二.模板轉換
當然設計時模板可以轉為執行時模板,只要將該檔案的「自定義工具」屬性設定為 texttemplatingfilepreprocessor即可。
但是執行時模板很多情況下不能轉為設計時模板。
三.執行時模板的使用
這裡講解通過c#**來控制,何時執行t4模板來產生郵件內容,並儲存到指定的位置。
1.新增乙個t4模板,修改為執行時模板
multiarticle.tt
<#@ template language="c#" #>
"text-align:center;
">
"600" cellpadding="
0" cellspacing="
0" border="
0" style="
margin:0 auto;
">"
width:600px;text-align:left;font:12px/15px simsun;color:#000;background:#fff;
">
<#=subject #>
<# foreach(article item in
articlelist)
#>
2.這個模板需要乙個實體類表示郵件的內容
乙個是以模板名+code結尾:multiarticlecode.cs,注意類名與模板名要相同,都是multiarticle。
publicclass
article
public
string content
}public
partial
class
multiarticle
public listarticlelist
public multiarticle(string subject, listarticles)
}
3.動態執行
staticvoid main(string
args)
multiarticle mod=new
multiarticle(subject,artlist);
//transformtext方法是模板編譯時自動產生的,
//這也是前面有提到的,模板multiarticle.tt的命名要與multiarticlecode.cs中的類名相同的原因,
//利用分部類partial,就可以呼叫該transformtext方法了。
string pagecontent =mod.transformtext();
//將pagecontent儲存到任何你想儲存的地方
system.io.file.writealltext("
outputpage.html
", pagecontent, encoding.utf8);
}
使用T4模板動態生成郵件內容並儲存到任意位置
使用t4模板動態生成郵件內容並儲存到任意位置 一.基礎概念介紹 設計時模板 texttemplatingfilegenerator 執行時模板 texttemplatingfilepreprocessor 二.模板轉換 當然設計時模板可以轉為執行時模板,只要將該檔案的 自定義工具 屬性設定為 tex...
CodeFirst時使用T4模板
我們都知道t4模板用於生成相似 在dbfirst和modelfirst條件下我們很容易從.edmx下獲取所有實體類和其名稱,並且通過我們定義的模板和某些遍歷工作為我們生成所需要的相似 但是codefirst模式下,我們沒有edmx,從哪獲取所有類名呢?難道要我們乙個個把entity實體層類名寫進陣列...
SqlSugar框架T4模板的使用
一 t4模板說明 1.t4模板是用來生成model層實體類的 2.檔案字尾為.tt 3.需要修改配置主要有 引用的sqlsugar.dll的位置 生成實體類的位置及生成實體類的命名空間 4.t4模板生成 對資料庫有要求,資料庫應該是不區分大小寫的,如果你建立的資料庫是否區分大小寫的 chinese ...