在 ASP.NET (*.aspx
和*.tt
) 中,以下标记的含义是什么:<#= #>
<# #>
<#+ #>
?
问问题
681 次
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 回答