Umbraco从类中获取节点属性

时间:2013-10-29 15:00:44

标签: c# asp.net umbraco

我有一个类(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才能以这种方式访问​​属性。

我缺少任何替代品或事物吗?

1 个答案:

答案 0 :(得分:1)

您的课程不需要为此继承任何内容。但是,如果要在动态参数中传递Node对象,则它将不会像您期望的那样运行。为此,您需要传递一个DynamicNode对象。

更好的是,只需将Node对象作为Node参数传递即可。至少通过这种方式,您将确切知道在编译时访问的属性。