コード生成とT4テキストテンプレートを読んで、この構文を見つけました<#= DateTime.Now#>
<html><body>
The date and time now is: <#= DateTime.Now #>
</body></html>
またはとどう違うのです<%= DateTime.Now %>
か<%# DateTime.Now %>
。
Google検索は何も表示しませんでした
コード生成とT4テキストテンプレートを読んで、この構文を見つけました<#= DateTime.Now#>
<html><body>
The date and time now is: <#= DateTime.Now #>
</body></html>
またはとどう違うのです<%= DateTime.Now %>
か<%# DateTime.Now %>
。
Google検索は何も表示しませんでした
T4テキストテンプレートに精通しているとは言えませんが、設計/ビルド時のコード生成(実行可能ステートメントを含めることができます)と実行時コードの実行の違いは明らかです。
したがって<#= #>
、ファイルの生成に使用されるテンプレート内の式を評価します。
そして<%= %>
、ブロック内のコードを実行し、それを出力ストリームに書き込みます。これは、ページが最初に実行されるときにJITコンパイルされますが、重要なのは、テンプレートファイルの生成中ではなく、ページの実行時に実行されるコードのブロックを示すということです。
3番目の形式<%# %>
は、データバインディング式を示し、ページの実行時にも評価されます。
式制御ブロック
式制御ブロックは、式を評価して文字列に変換します。これは出力ファイルに挿入されます。
式制御ブロックは、記号<#= ...#>で区切られています。
たとえば、次の制御ブロックにより、出力ファイルに「5」が含まれます。
<#= 2 + 3 #>
ソース: http: //msdn.microsoft.com/en-us/library/bb126478