CodeSmith 使用教程(7): 基本语法-转义Asp.Net标记

无情 阅读:653 2021-04-01 00:28:04 评论:0

由于CodeSmith的代码模板使用了和Asp.Net类似的语法,因此如果要使用CodeSmith 模板生成Asp.Net脚本时比如“<%” 就碰到了问题, <% 会被CodeSmith解释成CodeSmith自己的标记,因此需要使用转义标签来代替需要插入到Asp.Net代码中的标签。
具体方法是使用 <%% 来替换需要生成的Asp.Net中的 <%标记。

比如我们要生成如下的Asp.Net代码:

  1. <asp:FormView ID="FormView1" DataSourceID="SqlDataSource1" DataKeyNames="ProductID" RunAt="server">  
  2.   <ItemTemplate>  
  3.     <table>  
  4.       <tr>  
  5.         <td align="right"><b>Product ID:</b></td>         
  6.         <td><%# Eval("ProductID") %></td>  
  7.       </tr>  
  8.     </table>                   
  9.   </ItemTemplate>                   
  10. </asp:FormView>  
<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的模板中使用<%% 来替换 <%

  1. <asp:FormView ID="FormView1" DataSourceID="SqlDataSource1" DataKeyNames="ProductID" RunAt="server">  
  2.   <ItemTemplate>  
  3.     <table>  
  4.       <tr>  
  5.         <td align="right"><b>Product ID:</b></td>         
  6.         <td><%%# Eval("ProductID") %></td>  
  7.       </tr>  
  8.     </table>                   
  9.   </ItemTemplate>                   
  10. </asp:FormView>  

声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号