程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> CodeSmith教程(4) 基本語法-CodeTemplate 指令

CodeSmith教程(4) 基本語法-CodeTemplate 指令

編輯:關於ASP.NET

前面的幾篇介紹了使用CodeSmith模板自動生成代碼和編寫代碼模板的基本知識。也說過CodeSmith最核心的部分是代碼模板 ,從本篇開始介紹CodeSmith代碼模板的基本語法,對於Asp.Net程序員來說,可以說是碰到老朋友了:-) ,CodeSmith 的代碼模 板和Asp.Net Page 幾乎如出一轍。

本篇介紹CodeTemplate指令,這個是模板中唯一必須的聲明,包含一些模板特殊的屬 性,包含模板使用的語言、生成的語言和一些對於模板的描述。比如:

<%@ CodeTemplate Language="C#" 

TargetLanguage="C#" Description="This is a demo template" %>

參數的介紹:

Language:在開發編寫 模板時使用的語言,例如C#,VB.NET,Jscript等。

TargetLanguage:只是對模板代碼的一個分類,不會影響生成的代碼 語言。是模板的一個屬性,說明模板要基於那種語言生成相應的代碼。例如你可以用CodeSmith從任何一種語言生成C#代碼。

Description:對於模板的一些說明信息,在CodeSmith Explorer中選中該模板時會顯示這裡的信息。

Inherits :所有CodeSmith模板默認繼承自CodeSmith.Engine.CodeTemplate,這個類提供模板使用的一些基本功能,像ASP.NET頁面的 Page類,這些被繼承的類的屬性可以被修改,但是這些新的類也必須繼承CodeSmith.Engine.CodeTemplate。CodeSmith也同樣可 以找到這個類,當然你要引入一個組件包含這個類。

Src:在某些方面Src和繼承Inherits比較相似,它們都允許你從其 他的類包含一些功能進模板。這兩個屬性的區別是,Src可以讓類與你的模板被動態編譯,而Inherits僅允許你提供一個已經編 譯好的類或組件。

Debug:可以確定是否在模板中可以包含調試符號。如果將這個屬性設置為True,則可以使用 System.Diagnostics.Debugger.Break()方法來設置斷點。

LinePragmas:設置為True,模板的錯誤將被指向到模板的源 代碼。設置為False,模板的錯誤將被指向到編譯的源代碼。

ResponseEncoding 指明代碼模板的輸出文件的編碼方式, 可以為 System.Text.Encoding.GetEncoding支持的所有編碼方式,如果輸出文件已存在並且和要生成的內容一致,輸出文件的 編碼方式不會變化。

OutputType 指明輸出文件的的輸出模式,可以有三種模式:

Normal: 正常模式,代碼模板輸 出內容寫到正常的輸出流(Response Stream)。

Trace: 輸出內容寫到Trace(調試)輸出流中。

None: 控制代碼模板 不輸出任何內容,主要用在主-從模板的主模板中,有些情況下無需主模板輸出任何內容。

NoWarn 不顯示某些編譯警告 ,Warning的ID使用逗號分隔,主要用在編譯C#和VB.Net時用到。

ClassName  使用Code-Behind時對應的類名稱, 類似於Asp.Net代碼。

Namespace 使用Code-Behind時對應的類命名空間名稱。

Encoding  代碼模板自身使 用的編碼方式,缺省為UTF-8.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved