将值从asp.net页面传递给t4模板

时间:2013-05-31 05:50:29

标签: c# asp.net t4

我希望将我的asp.net网页中的字符串值传递给t4运行时模板。运行时模板包含一些模板文件。即

我的运行时模板是 runTym.tt

此runTym.tt包含两个t4模板,即: t1.tt t2.tt

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网页访问runTym.tt文件。

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

有没有办法通过 runTym.tt 将参数值传递给 t1.tt

1 个答案:

答案 0 :(得分:1)

查看运行时模板生成的类,并在您自己的文件中添加该类的第二部分。在该部分中添加公共属性,然后在new运行时模板之后和调用TransformText()之前设置属性。

如果您希望将所有内容保存在一个文件中,请使用<#+ #>作为分隔符,在模板末尾的类功能块中添加该属性。