如何将两个 NodebyID 合并为一个变量

本文关键字:一个 变量 合并 NodebyID 两个 | 更新日期: 2023-09-27 18:33:24

我正在使用Umbraco,我想将两个变量加在一起,这将在两个子项中显示文章。

var nodes = Model.NodeById(1195).Children();
var nodes2 = Model.NodeById(1201).Children();
var test = Model.NodesById(nodes, nodes2);

它不起作用并引发错误。有没有其他方法可以做到这一点?我在论坛板上找到了这个,但它似乎对我不起作用。

链接: http://our.umbraco.org/forum/developers/razor/47078-how-to-merger-DynamicNode?p=0#comment168589

如何将两个 NodebyID 合并为一个变量

也许是这样的东西?

DynamicNodeList nodes = Model.NodeById(1195).Children();
DynamicNodeList nodes2 = Model.NodeById(1201).Children();
var allNodes = nodes.Concat(nodes2);

有点原始(但不知道更多的上下文),这样的事情应该可以工作:

string parentIds = "1195,1201";
string[] parentArray = parentIds.Split(',');
DynamicNodeList allNodes = new DynamicNodeList();
foreach (var x in parentArray);
    foreach (var y in Library.NodeById(x).Children()) {
         var thisNode = Library.NodeById(y);
         if (thisNode.Id != 0)  {
             allNodes.Add(thisNode);
         }
    }
}