如何在动态节点列表中查找项数
本文关键字:查找 列表 节点 动态 | 更新日期: 2023-09-27 18:36:14
是否有任何返回列表项数的动态节点列表属性或函数。
这是我的代码:
var root = Model.NodeById(id);
var nodes = root.Descendants("ChartItem");
if (nodes.GetLength() > 0)
{
s = s + "<ul>";
}
但是 GetLength 不是一个有效的函数。 我该怎么办?
IEnumerable 类型有一个内置的扩展方法,称为 Count(),它就是这样做的,它计算项目:)
请参阅下面的代码:
var root = Model.NodeById(id);
var nodes = root.Descendants("ChartItem");
if (nodes.Count() > 0)
{
s = s + "<ul>";
}
看这里
http://umbraco.com/follow-us/blog-archive/2011/12/22/umbraco-5-rc1-is-out-today.aspx
我会尝试(不确定是否需要空检查,或者 Descendants() 是否至少返回一个空列表)
nodes != null && nodes.Count() >0
或
nodes != null && nodes.Any()
试试这段代码:
var root = Model.NodeById(id);
var nodes = root.Descendants("ChartItem");
int nodesCount = 0;
foreach (var node in nodes)
{
nodesCount += 1;
}
if (nodesCount > 0)
{
s = s + "<ul>";
}