由於CodeSmith的代碼模板使用了和Asp.Net類似的語法,因此如果要使用CodeSmith 模板生成Asp.Net腳本時比如“<%” 就碰到了問題, <% 會被CodeSmith解釋成CodeSmith自己的標記,因此需要使用轉義標簽來代替需要插入到Asp.Net代碼中的 標簽。
具體方法是使用 <%% 來替換需要生成的Asp.Net中的 <%標記。
比如我們要生成如下的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的模板中使用<%% 來替換 <%
<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>