如何从 CurrentPage.Children 的循环中排除单个节点 ID

How to exclude a single node id from a loop of CurrentPage.Children

我有一个模板,我希望在其中显示 CurrentPage 的所有子节点,但 Id = 1234 的单个节点除外。

我当前的代码:

 @{
   foreach( var child in CurrentPage.Children.Take(6) ){

   Html.Partial("Archive/Post", new ViewDataDictionary {{ "item", (object)child }} )

        }
   }

所以基本上我正在尝试做类似的事情:CurrentPage.Children.Take(6).Where(Id != 1234)

Where 方法需要一个谓词(通常作为 lambda 表达式提供):

CurrentPage.Children.Take(6).Where(c => c.Id != 1234)

根据您的评论,我得出的结论是 CurrentPagedynamicChilderndynamic。由于 you can't use lambda expressions with dynamic,您可以采用老方法,只需在循环内添加条件:

@{
    foreach( var child in CurrentPage.Children.Take(6) )
    {
      if(child.Id != 1234)
          Html.Partial("Archive/Post", new ViewDataDictionary {{"item", (object)child}});
    }
}