解决方法
TOM.NET API参考提供以下示例:
<%@ Import Namespace="Tridion.ContentManager.Publishing"%> <%! private string ExtraString() { return "Something added by the C# template"; } %> log.Debug("Executing C# template"); if (engine.RenderMode == RenderMode.Publish) { package.GetByName(Package.OutputName).AppendToStringValue(ExtraString()); }
<%@Import Namespace="..." %>
将引号之间的命名空间导入代码片段.您导入的任何类都必须存在于全局程序集缓存中.
<%! ... %>
声明要使用的其余代码片段的方法,常量和类.声明不能包含字符串’%>’.请注意,您创建的任何类只能在代码片段中引用.
<%RunTemplate Template="tcm:1-184-2048" Class="Tridion.Templating.Examples.ExampleTemplateClass"%>
运行特定的.NET程序集模板构建块,由Template属性中的URI标识.当您上载.NET程序集时,此语句通常由SDL Tridion 2009本身生成,以提供对.NET程序集中特定类的访问.
<%@Assembly Name="System.Drawing,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a"%>
插入对非标准.NET程序集的引用,该程序集必须存在于全局程序集缓存中.使用完整的程序集名称.