从 Umbraco 7 的 Descendants Where() 子句中排除在多节点树选取器中选取的一组节点
Exclude a set of nodes picked in multinode tree picker from a Descendants Where() clause in Umbraco 7
我已经设置了一个多节点 treepicker 来选择一组我试图从一组后代节点中排除的节点。
我不确定完成此操作的 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 }
即在你的情况下
var nodes = ...Descendants("addonProduct").Except(exclude_nodes);
var nodes = ...Descendants("addonProduct").Where(d => !exclude_nodes.Contains(d));
请注意 Except() 行为:
new [] { 1, 1, 2, 3 }.Except(new [] { 2 }) // { 1, 3 }
我已经设置了一个多节点 treepicker 来选择一组我试图从一组后代节点中排除的节点。
我不确定完成此操作的 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 }
即在你的情况下
var nodes = ...Descendants("addonProduct").Except(exclude_nodes);
var nodes = ...Descendants("addonProduct").Where(d => !exclude_nodes.Contains(d));
请注意 Except() 行为:
new [] { 1, 1, 2, 3 }.Except(new [] { 2 }) // { 1, 3 }