使用T4模板動態生成郵件內容並儲存到任意位置

2021-07-24 04:29:51 字數 1202 閱讀 8006

使用t4模板動態生成郵件內容並儲存到任意位置

一.基礎概念介紹

設計時模板: texttemplatingfilegenerator

執行時模板:texttemplatingfilepreprocessor

二.模板轉換

當然設計時模板可以轉為執行時模板,只要將該檔案的「自定義工具」屬性設定為 texttemplatingfilepreprocessor即可。

但是執行時模板很多情況下不能轉為設計時模板。

三.執行時模板的使用

這裡講解通過c#**來控制,何時執行t4模板來產生郵件內容,並儲存到指定的位置。

1.新增乙個t4模板,修改為執行時模板

multiarticle.tt

<#@ template language="c#" #>

<#=subject #>

<# foreach(article item in articlelist)

#>

2.這個模板需要乙個實體類表示郵件的內容

乙個是以模板名+code結尾:multiarticlecode.cs,注意類名與模板名要相同,都是multiarticle。

public class article

public string content

}public partial class multiarticle

public listarticlelist

public multiarticle(string subject, listarticles)

}3.動態執行

static void 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模板是擴充套件名為 tt 的文字檔案。他分為設計時模板 和執行時模板。主要區別在於在vs中右鍵點選檔案,開啟 屬性 在 自定義工具 一欄中的值分別如下 設計時模板 texttemplatingfilegenerator 執行時模板 texttemplatingfileprepr...

CodeFirst時使用T4模板

我們都知道t4模板用於生成相似 在dbfirst和modelfirst條件下我們很容易從.edmx下獲取所有實體類和其名稱,並且通過我們定義的模板和某些遍歷工作為我們生成所需要的相似 但是codefirst模式下,我們沒有edmx,從哪獲取所有類名呢?難道要我們乙個個把entity實體層類名寫進陣列...

SqlSugar框架T4模板的使用

一 t4模板說明 1.t4模板是用來生成model層實體類的 2.檔案字尾為.tt 3.需要修改配置主要有 引用的sqlsugar.dll的位置 生成實體類的位置及生成實體類的命名空間 4.t4模板生成 對資料庫有要求,資料庫應該是不區分大小寫的,如果你建立的資料庫是否區分大小寫的 chinese ...