Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从Umbraco 7中的子体Where()子句中排除在多节点树选择器中拾取的一组节点_C#_Umbraco_Umbraco7 - Fatal编程技术网

C# 从Umbraco 7中的子体Where()子句中排除在多节点树选择器中拾取的一组节点

C# 从Umbraco 7中的子体Where()子句中排除在多节点树选择器中拾取的一组节点,c#,umbraco,umbraco7,C#,Umbraco,Umbraco7,我已经设置了一个多节点树生成器来选择一组我试图从一组子节点中排除的节点 我不确定Where()语法是否可以实现这一点: var exclude_nodes = CurrentPage.pickedNodes; var nodes = Model.Content.AncestorsOrSelf("homepage").First().Descendants("addonProduct").Where( filter out exclude_nodes here); 这对你有用吗 new []

我已经设置了一个多节点树生成器来选择一组我试图从一组子节点中排除的节点

我不确定Where()语法是否可以实现这一点:

var exclude_nodes = CurrentPage.pickedNodes;

var nodes = Model.Content.AncestorsOrSelf("homepage").First().Descendants("addonProduct").Where( filter out exclude_nodes here);

这对你有用吗

new [] { 1, 2, 3 }.Where(x => x > 1) // { 2, 3 }
new [] { 1, 2, 3 }.Except(new [] { 2, 3 }) // { 1 }
i、 在你的情况下

var nodes = ...Descendants("addonProduct").Except(exclude_nodes);
var nodes = ...Descendants("addonProduct").Where(d => !exclude_nodes.Contains(d));
请注意以下行为:

new [] { 1, 1, 2, 3 }.Except(new [] { 2 }) // { 1, 3 }

你能告诉我如何使用从上面的multietree选取器中选取的节点集来实现这一点吗?我对翁布拉科很陌生,所以还在学习。我的exclude_节点包含多节点树选取器中的数据,我想从“nodes”变量中使用的查询中排除这些数据。这里唯一需要注意的是,原始海报需要更改获取要排除的节点的部分,因为它们在代码中混合了动力学和强类型的Umbraco节点,因此,子体永远不会包含排除节点,因为它们是不同的类型。类似于:var exclude_nodes=Model.Content.GetPropertyValue(“pickedNodes”);应该有用,很好用。非常感谢:)