c# - T4文本模板: method to return html expression

标签 c# t4

我有以下 T4 文本模板,它在很多地方重复:

<# if (!package.Name.Equals("Amazon")) {#>
    <td><#=package.Name#></td>
<#} else {#>
    <td><a href="<#=package.Name#>@Amazon.com"><#=package.Name#></a></td>
<#}#>

我想用一个函数替换它,如果 package.Name 等于 Amazon,则返回带有 href 属性的字符串,例如:

 private static string ConvertPackageName(Package package)
 {
    if (!package.Name.Equals("Amazon"))
    {
       return package.Name;
    }

    return "<a href="<#=package.Name#>@Amazon.com"><#=package.Name#></a>";
 }

是否可以有这样的东西,这样我就可以有这样的代码:

<td><#=ConvertPackageName(package)#></td>               

最佳答案

您需要使用class feature blocks :<#+ /* code */ #>

关于c# - T4文本模板: method to return html expression,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17391828/

相关文章:

c# - 将数据库中的图像注入(inject)到 sql 报告查询中

c# - 如何在 C# 中动态更改 td 的 colspan?

c# - 为什么 'NaN' 在 Sverige-Swedish CLR 4.0 中的奇怪表示?

c# - 将 ActionLink 与绝对路径一起使用

c# - 如何在声明中有条件地设置基类

c# - 生成的 C# 代码中的 T4 缩进

c# - 多对多父子转发器,数据关系c#

t4 - T4(微软的文本模板框架)有什么好的资源吗?

asp.net - 修改 FormView 的默认模板

entity-framework - Ef 4.x dbcontext 生成器在执行时失败