阅读代码生成和 T4 文本模板,我发现了这种语法 <#= DateTime.Now #>
<html><body>
The date and time now is: <#= DateTime.Now #>
</body></html>
它与<%= DateTime.Now %>
或有何不同<%# DateTime.Now %>
。
谷歌搜索什么也没显示
阅读代码生成和 T4 文本模板,我发现了这种语法 <#= DateTime.Now #>
<html><body>
The date and time now is: <#= DateTime.Now #>
</body></html>
它与<%= DateTime.Now %>
或有何不同<%# DateTime.Now %>
。
谷歌搜索什么也没显示
我不能声称对 T4 文本模板非常熟悉,但似乎区别在于设计/构建时代码生成(可以包括可执行语句)和运行时代码执行之间。
因此<#= #>
计算用于生成文件的模板中的表达式。
并<%= %>
执行块内的代码并将其写入输出流。这将在页面第一次执行时进行 JIT 编译,但关键是它表示在页面运行时执行的代码块,而不是在模板文件的生成期间。
第三种形式,<%# %>
表示数据绑定表达式,也在页面执行时进行评估。
表达式控制块
表达式控制块计算表达式并将其转换为字符串。这被插入到输出文件中。
表达式控制块由符号 <#= ... #> 分隔
例如,以下控制块导致输出文件包含“5”:
<#= 2 + 3 #>