最近、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() が true になることはないようです。
誰にもアイデアはありますか?- ありがとう