鍍金池/ 教程/ C++/ 基本語(yǔ)法-轉(zhuǎn)義Asp.Net標(biāo)記
使用主從代碼模板
CodeTemplateInfo 對(duì)象
引用其它文件或 .Net 類庫(kù)
編寫(xiě)第一個(gè)代碼模板
Progress 對(duì)象
基本語(yǔ)法-使用注釋
基本語(yǔ)法-轉(zhuǎn)義Asp.Net標(biāo)記
調(diào)試
為 Yii Framework 創(chuàng)建生成 ActiveRecord 的代碼模板
基本語(yǔ)法-聲明和使用屬性
自動(dòng)生成Yii Framework ActiveRecord類簡(jiǎn)單模板
Merge 策略
使用 XMLProperty
CodeTemplate 對(duì)象
基本語(yǔ)法-CodeTemplate 指令
概述
使用 SchemaExplorer 來(lái)獲取數(shù)據(jù)庫(kù)定義

基本語(yǔ)法-轉(zhuǎn)義Asp.Net標(biāo)記

由于 CodeSmith 的代碼模板使用了和 Asp.Net 類似的語(yǔ)法,因此如果要使用 CodeSmith 模板生成Asp.Net 腳本時(shí)比如“<%” 就碰到了問(wèn)題, <% 會(huì)被 CodeSmith 解釋成 CodeSmith 自己的標(biāo)記,因此需要使用轉(zhuǎn)義標(biāo)簽來(lái)代替需要插入到 Asp.Net 代碼中的標(biāo)簽。

具體方法是使用 <%% 來(lái)替換需要生成的 Asp.Net 中的 <%標(biāo)記。

比如我們要生成如下的 Asp.Net 代碼:

<asp:FormView ID="FormView1" DataSourceID="SqlDataSource1" DataKeyNames="ProductID" RunAt="server">
  <ItemTemplate>
    <table>
      <tr>
        <td align="right"><b>Product ID:</b></td>       
        <td><%# Eval("ProductID") %></td>
      </tr>
    </table>                 
  </ItemTemplate>                 
</asp:FormView>

可以在 CodeSmith 的模板中使用<%% 來(lái)替換 <%

<asp:FormView ID="FormView1" DataSourceID="SqlDataSource1" DataKeyNames="ProductID" RunAt="server">
  <ItemTemplate>
    <table>
      <tr>
        <td align="right"><b>Product ID:</b></td>       
        <td><%%# Eval("ProductID") %></td>
      </tr>
    </table>                 
  </ItemTemplate>                 
</asp:FormView>