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()
将其显示在屏幕上。