DynamicNodeList 是否有任何属性或函数返回列表项的数量。
这是我的代码:
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>";
}
试试这个代码:
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>";
}
看这里
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()