Razor Umbraco 7.12:如果X与当前页面ID或当前页面的任何子体匹配,是否可能?
我整理了这个片段:Razor Umbraco 7.12:如果X与当前页面ID或当前页面的任何子体匹配,是否可能?,razor,umbraco,umbraco7,Razor,Umbraco,Umbraco7,我整理了这个片段: @foreach(var item in selection){ if(item.HasValue("location") && @Model.Content.Id == @item.GetPropertyValue<int>("location")){ var singleLink = item.GetPropertyValue<Link>("links"); if(singleLink != null) {
@foreach(var item in selection){
if(item.HasValue("location") && @Model.Content.Id == @item.GetPropertyValue<int>("location")){
var singleLink = item.GetPropertyValue<Link>("links");
if(singleLink != null)
{
if(item.HasValue("wideImage"))
{
IPublishedContent mediaItem = item.GetPropertyValue<IPublishedContent>("wideImage");
<div class="owl-item" style="width: 891px;"><a href="@singleLink.Url" target="@singleLink.Target"><img class="tag-headadvert img-responsive" style="display: inline;" src="@mediaItem.Url" width="100%" alt="@singleLink.Name" /></a></div>
}
}
}
在第二行中,您可以看到我将当前页面ID与一个变量进行比较,如果该变量与当前页面ID或当前页面ID的任何后代匹配,有什么方法可以进行比较
谢谢您需要检索子体Id列表-最简单的方法之一是从Model.Content.genderantsorself中选择Id-例如: 然后你就可以用降落伞了。Contains@item.GetPropertyValuelocation在你的第二行
注意:如果当前节点有大量子节点,您可能会发现需要以某种方式优化查询,可能使用缓存或想出一种完全不同的方法来实现您想要的结果。您需要检索子代Id列表-最简单的方法之一是从Model.Content.genderantsorself中选择Id-例如: 然后你就可以用降落伞了。Contains@item.GetPropertyValuelocation在你的第二行 注意:如果当前节点有大量子节点,您可能会发现您需要以某种方式优化查询,可能需要使用缓存,或者提出一种完全不同的方法来实现所需的结果
var descendantIds = Model.Content.DescendantsOrSelf().Select(c => c.Id);