-3

在 ASP.NET (*.aspx*.tt) 中,以下标记的含义是什么:<#= #> <# #> <#+ #>

4

1 回答 1

6

您在问题中描述的标记与 ASP.NET 无关。它们是 T4 模板标记语法的示例。T4 模板在 Visual Studio 中转换,可用于创建任何类型的文件,尽管它们最常用于代码生成

<#= #>执行标记内的代码并返回文本结果。例子:

// in this example, TargetNamespace is set to "MuhNamespace"
namespace <#= this.TargetNamespace #> { // outputs: namespace MuhNamespace

<# #>执行其中的代码但返回void. 例子:

This collection contains the following foos:
<#foreach(var foo in bar){ #>
    <#= foo.Name + Environment.NewLine #>
<# } #>

<#+ #>定义可以在模板中调用的可重用方法。例如,

This collection contains the following types:
<#foreach(var foo in bar){ #>
    <#= GetType(foo) #>
<# } #>

<#+  public string GetType(foo){ return foo.GetType().FullName; } #>

还有更多这些,可以在此处找到示例。

于 2012-08-20T13:56:51.940 回答