0

我有一个类(TemplateCompiler),它加载到 .html 文件中,并用 umbraco 节点的属性替换某些值并导出以供外部使用。

using System.Text;
using System.IO;

/// <summary>
/// Template builder gathers the umbraco nodes, gets the appropriate markup and populates it.
/// </summary>
public class TemplateCompiler
{
    public static string GetCode(dynamic performance)
    {
        //loadTemplate is a function defined elsewhere
        var template = loadTemplate("Main.html");

        template.Replace("###BODY###", performance.bodyContent);
    }
}

我能否以这样的方式访问性能对象的 umbraco 属性(性能类型为 umbraco.presentation.nodeFactory.Node)。

我似乎记得该类需要继承 umbraco.MacroEngines.DynamicNodeContext 才能以这种方式访问​​属性。

有没有我想念的替代品或东西?

4

1 回答 1

1

你的类不需要继承任何东西来工作。但是,如果您Node在动态参数中传递一个对象,它的行为就不会像您期望的那样。为此,您需要传递一个DynamicNode对象。

更好的是,只需将Node对象作为Node参数传递。至少这样,您将确切地知道您在编译时访问的属性。

于 2013-11-03T12:30:20.983 回答