我正在使用 Umbraco 7,我想要一个局部 View 来呈现左侧导航,该导航从树上的某个点开始,它会在该点找到具有特定属性集的页面。
我已经试过了,但它只能从树中固定深度 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")
);
唯一的区别是您正在寻找一个单一的祖先。我的寻找所有这些,这让我可以进行检查,然后取第一个。
关于c# - Umbraco 7 Razor - 找到父级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26400302/