2014-12-06 77 views
0

我正在使用Umbraco,我想将两个变量加在一起,以便在两个孩子中显示文章。如何将两个NodebyID合并成一个变量?

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

+0

哪个版本您使用的? – dampee 2014-12-08 17:33:27

回答

0

像这样的事情吧?

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

var allNodes = nodes.Concat(nodes2); 
0

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

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); 
     } 
    } 
}