<%= this.SourceTable.Name %>这标签是怎么转化成表名的?
<% foreach (ColumnSchema column in this.SourceTable.Columns) {  %><% } %> 
<%foreach..%>又是怎么编译的?
想知道怎么通过模板转化成我们需要的代码

解决方案 »

  1.   

    <%%>嵌入代码aspx开头不是有句
    <%@Page ... CodeFile="X.aspx.cs" Inherits="X"...%>么,aspx页继承于X.aspx.cs后台代码文件的X类大致是生成页面时先把实现编译好的后台代码dll拿来,然后动态编译前台代码,最后联编,结果抛给客户端浏览器,其中的脚本部分可以和浏览器交互%%等于编译时先留下位置<%@Page ...%> 也是<%%>开头结尾的,你可以看成这里会插入一段后台的编译程序集,然后再动态编译前台部分深入剖析ASP.NET的编译原理之二:预编译(Precompilation) http://www.cnblogs.com/artech/archive/2007/05/26/760292.htmlaspx和Code behind是一种继承的关系,aspx继承和它对应的Code Behind。ASP.NET可以把Code behind和aspx分开进行编译,把它们编译到不同的Assembly中。我们就是上面的Code为例,
    我们现在若对该Web site进行编译的话,Default.aspx.cs会被编译到一个Assembly中,假设这个Assembly为App_Web.dll. 我们把该Dll和aspx部署到Production Server上。如果我们现在访问defaut.aspx。ASP.NET
    会对aspx进行动态编译,生成的Assembly可以暂时成为App_Web_aspx.dll
      

  2.   

    codesmith里的<%%>和aspx是一样的吗