如何从 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)
根据您的评论,我得出的结论是 CurrentPage
是 dynamic
或 Childern
是 dynamic
。由于 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}});
}
}
我有一个模板,我希望在其中显示 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)
根据您的评论,我得出的结论是 CurrentPage
是 dynamic
或 Childern
是 dynamic
。由于 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}});
}
}