c# - 如何在 C# TBB(C# 代码片段)中添加用户定义的方法?

标签 c# tridion

我正在创建一个 C# TBB(C# 代码片段)。为此,我需要编写一个用户定义的方法。我尝试使用 <%! %>。如何在代码中访问用户定义的方法。提前致谢。请建议我解决此问题的方法。

最佳答案

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 程序集模板构建 block ,由模板属性中的 URI 标识。此语句通常在您上传 .NET 程序集时由 SDL Tridion 2009 本身生成,以提供对 .NET 程序集中特定类的访问。

<%@Assembly Name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"%> 

插入对非标准 .NET 程序集的引用,该程序集必须存在于全局程序集缓存中。使用完整的程序集名称。

关于c# - 如何在 C# TBB(C# 代码片段)中添加用户定义的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10477483/

相关文章:

c# - 有没有办法在 C# 中获取 F# 的构造函数参数是自动不可变私有(private)成员功能?

c# - 端口DDI登录密码加密到Metro

tridion - Content Porter Sdl Tridion 2011 的配置 xml

tridion - 新安装 Tridion 2011 SP CMS 服务器出现错误

tridion - 如何在 Tridion 中使用 WebDAV URL 列出文件夹的现有组件?

c# - Xamarin 表单动态添加页面/ View

c# - 我如何将 'trim' C# 加倍到它将存储在 sqlite 数据库中的值?

c# - 图像未使用 Asp.Net 从 MySql 数据库中显示

javascript - SDL 2012 UI,初始化错误,

tridion - 使用 SDL Tridion 2011 核心服务以编程方式创建组件