1

asp.net Web ページから t4 ランタイム テンプレートに文字列値を渡したいと考えています。ランタイム テンプレートには、さらにいくつかのテンプレート ファイルが含まれています。すなわち。

私の実行時テンプレートは、たとえば runTym.tt です

この runTym.tt には、 t1.ttt2.ttの 2 つの t4 テンプレートが含まれています。

runTym.tt コードは次のようになります。

<#@ template language="C#" #>
<#@ assembly name="System.Core" #>
<#@ import namespace="System.Linq" #>
<#@ import namespace="System.Text" #>
<#@ import namespace="System.Collections.Generic" #>
<#@ include file="t1.tt" #> 
<#@ include file="t2.tt" #>

t1.ttファイルに値を渡したい。しかし、私は asp.net Web ページから runTym.tt ファイルにアクセスしています。

runTym runT = new runTym();
string val= runT.TransformText();

runTym.ttを介してt1.ttにパラメーター値を渡す方法はありますか?

4

1 に答える 1

1

ランタイム テンプレートが生成しているクラスを確認し、そのクラスの 2 番目の部分を独自のファイルに追加します。そのパーシャルにパブリック プロパティを追加newし、ランタイム テンプレートを作成した後、 を呼び出す前にプロパティを設定しますTransformText()

すべてを 1 つのファイルにまとめたい場合は、<#+ #>区切り文字として使用して、代わりにテンプレートの末尾にあるクラス機能ブロックにプロパティを追加します。

于 2013-05-31T21:03:07.747 に答える