使用 Progress 對(duì)象可以為 CodeSmith 生成代碼的過(guò)程顯示一個(gè)進(jìn)度條,這對(duì)于生成比較費(fèi)時(shí)的模板操作是非常有用的,如果你使用 Visual Studio,可以在狀態(tài)欄中顯示一進(jìn)度條:
使用進(jìn)度條的方法是通過(guò) CodeTemplate 對(duì)象的 Progress 屬性對(duì)象,首先是設(shè)置 Progress 對(duì)象的最大值和步長(zhǎng),本例通過(guò)一個(gè)簡(jiǎn)單的循環(huán)來(lái)模擬一個(gè)費(fèi)時(shí)的操作:
<%@ Template Language="C#" TargetLanguage="Text" Debug="False" %>
<%@ Import Namespace="System.Threading" %>
This is a progress demo.
<% SimulateProgress(); %>
<script runat="template">
public void SimulateProgress(){
Progress.MaximumValue = 25;
Progress.Step = 1;
for(int i=0;i<25;i++){
Progress.PerformStep();
Thread.Sleep(100);
Response.WriteLine("step {0} ",i);
}
}
</script>
讓進(jìn)度條前進(jìn)一步是通過(guò) Progress 對(duì)象的 PerfStep 方法來(lái)實(shí)現(xiàn)的。
本例下載
更多建議: