Tra*_*vis 2 c# asp.net-mvc umbraco razor umbraco7
我正在使用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>
Run Code Online (Sandbox Code Playgroud)
你可以使用:
var root = Model.Content.AncestorsOrSelf().First(
x => x.GetPropertyValue<bool>("resetLeftNav")
);
Run Code Online (Sandbox Code Playgroud)
唯一的区别是你正在寻找一个单一的祖先.我找到了所有这些,这使我可以做检查,然后采取第一个.
归档时间: |
|
查看次数: |
4842 次 |
最近记录: |