我最近从 4.09 升级到 Umbraco 4.10。我有一个非常常见/简单的小宏,用于生成我的顶部导航。我检查记录以查看它是否是计数中的最后一个,如果不是,则添加管道符号作为可视分隔符。这在 4.09 之前的所有版本中都按预期工作,但在升级所有项目后,即使是最后一个项目也会得到管道符号。
@inherits umbraco.MacroEngines.DynamicNodeContext
@{
var level = String.IsNullOrEmpty(Parameter.Level) ? 1 : int.Parse(Parameter.Level);
var ulClass = String.IsNullOrEmpty(Parameter.UlClass) ? "" : String.Format(" class=\"{0}\"", Parameter.UlClass);
var parent = @Model.AncestorOrSelf(level);
var pages = parent.Children.Where("Visible");
if (parent != null) {
<ul class="topNav">
@foreach (var item in pages) {
var selected = Array.IndexOf(Model.Path.Split(','), item.Id.ToString()) >= 0 ? " class=\"selected\"" : "";
if (item != (pages.Last()))
{
<li@Html.Raw(selected)>
<a href="@item.Url">@item.Name |</a>
</li>
}
else
{
<li@Html.Raw(selected)>
<a href="@item.Url">@item.Name</a>
</li>
}
}
</ul>
}
}
我不确定发生了什么变化,但似乎(在我的代码中)pages.Last() 从来都不是真的。
有人有想法么?- 谢谢