Umbraco 7 Razor-查找家长
本文关键字:查找家 Razor- Umbraco | 更新日期: 2023-09-27 18:26:53
我使用的是Umbraco 7,我想要一个局部视图来呈现从树上某个点开始的左导航,在那里它可以找到一个具有特定属性集的页面。
我试过这个,但它只适用于树下1层的固定深度。我想从网站的任何深度做这件事,并让它递归,直到它找到一个项目,并将其作为左导航的根。
@inherits Umbraco.Web.Mvc.UmbracoTemplatePage
@{
@* Get the item above this one that has a property of resetLeftNav ticked *@
var root = CurrentPage.AncestorOrSelf(1).Children.Where("resetLeftNav").First();
}
<ul class="nav left-nav">
@foreach(var page in root.Children)
{
<li class="">
<a href="@page.Url">@page.Name</a>
</li>
}
</ul>
您可以使用:
var root = Model.Content.AncestorsOrSelf().First(
x => x.GetPropertyValue<bool>("resetLeftNav")
);
唯一的区别是你在寻找一个单一的祖先。我的都在找,这让我可以做检查,然后拿第一个。