Razor 让孩子们';乌姆布拉科的孩子们在数
如何计算子节点的子节点数?到目前为止,我有以下代码:Razor 让孩子们';乌姆布拉科的孩子们在数,razor,umbraco,umbraco7,Razor,Umbraco,Umbraco7,如何计算子节点的子节点数?到目前为止,我有以下代码: @foreach (var newsYear in CurrentPage.Children.Where("Visible")) { @newsYear.Name (@newsYear.Children.Count()) @*Number of children's children*@ @foreach (var newsMonth in newsYear.Children.Where("Visible")) {
@foreach (var newsYear in CurrentPage.Children.Where("Visible"))
{
@newsYear.Name (@newsYear.Children.Count()) @*Number of children's children*@
@foreach (var newsMonth in newsYear.Children.Where("Visible"))
{
@newsMonth.Name (@newsMonth.Children.Count())
}
}
从你的代码来看,你似乎在试图显示今年所有新闻文章的总数
@newsYear.Name (@newsYear.Children.Count())
但是,这将返回所有“月”节点的计数,假设您遵循以下结构:
年>月或年>月>日
如果您想要当前月份的文章总数(在循环中),请尝试以下操作:
@newsYear.Children.Where(x => x.DocumentTypeAlias.Equals("YourNewsDocTypeAliasHere")).Count();
使用SelectMany()
执行此操作
var allItems = CurrentPage.Children.Where("Visible").ToList();
foreach (var newsYear in allItems)
{
var yearTotal = allItems.SelectMany(c => c.Children).Count();
foreach (var newsMonth in newsYear.Children)
{
var monthTotal = newsMonth.Children.Count();
}
}
那么什么不起作用呢?您是否尝试过
newswear.ChildrenAsList.Count()
?不,此代码是以这种方式工作的,但我现在需要了解第一次foreach之后孩子的数量。类似于@newswear.Children.Children.Count()
,但这不起作用。您是否要在第二行中显示HTML?您的代码是正确的,您必须将其包装在一些html标记中,或者使用@html.Raw()
将其显示在屏幕上。