Umbraco:根据Node ID获取root Node ID



我是Umbraco的新手,问题是我有5个根节点,并且我有一个包含在这些根节点中的随机页面列表。我从这些页面收到的数据是NodeId, NodeName和Level。我要做的是获取每个页面的根节点信息。不幸的是,这就是我遇到问题的地方,是否有一种方法可以根据NodeId获得根节点或1级节点的信息。

这是我目前得到的:

foreach (var item in pages)
{
    int level = item["level"].AsInt();
    if (level > 1){
        var currentItem = library.GetCurrentDomains(item.Id);
    }
}

我试过library.GetCurrentDomains(item.Id),但是这个不起作用

不完全确定这是否是您所需要的,也不确定这是否是最好的方法,但是您可以这样做

item.Path.Split(',')[1]

获取任何节点的第二级"根"。我认为;-)

假设随机页面列表都是ipublishhedcontent,您可以在页面上使用扩展方法AncestorOrSelf(1),它将获得页面的根节点。例如

foreach (var item in pages)
{
    var rootPage = item.AncestorOrSelf(1);
    //do something with the root node here
}

相关内容

  • 没有找到相关文章

最新更新