Javascript 获取自定义节树中的父节点

Javascript 获取自定义节树中的父节点,javascript,c#,umbraco7,Javascript,C#,Umbraco7,我在Umbraco 7的自定义部分中有一个多级树,其中根节点始终是国家 丹麦 项目1 项目2 斯维登 项目1 项目2 挪威 项目1 项目2 现在,在处理丹麦的项目2时,我想获得根节点丹麦的节点ID,以便知道我在哪个国家工作 是否有任何JavaScript API可以在节点级别上递归,并得到最顶层的扩展 提前谢谢。 乔纳斯最简单的方法是使用剃须刀: var parentNode = CurrentPage.AncestorOrSelf(1); 这将为您提供当前页面的根节点,您可以根据需要访问根节

我在Umbraco 7的自定义部分中有一个多级树,其中根节点始终是国家

丹麦 项目1 项目2 斯维登 项目1 项目2 挪威 项目1 项目2 现在,在处理丹麦的项目2时,我想获得根节点丹麦的节点ID,以便知道我在哪个国家工作

是否有任何JavaScript API可以在节点级别上递归,并得到最顶层的扩展

提前谢谢。
乔纳斯

最简单的方法是使用剃须刀:

var parentNode = CurrentPage.AncestorOrSelf(1);
这将为您提供当前页面的根节点,您可以根据需要访问根节点的属性:

int id = parentNode.Id;
我所做的就是使用editorState 我在运行Umbraco 7.5.7

angular.module("umbraco").controller("Client.Controller",
  function ($scope, editorState) {

    // Get the rootNode out of the path.
    var rootNode = editorState.current.path.split(",")[1];
});
由于路径包含当前节点所在的整个结构,因此第二个第一个节点将是根节点

另一个解决方案可能是: 我自己还没有测试过

其中以一种简单的方式陈述:

将appState和treeService注入角度控制器

这将获得当前树的最顶端节点: var rootNode=appState.getTreeStatecurrentRootNode

这将获取自定义树中当前选定的节点 var selectedNode=appState.getTreeStateselectedNode


由于我在后端部分的角度控制器中工作,很遗憾razor不是一个选项。因此,我需要JS的方式:谢谢你。