/// <summary> /// Appends a breadbrumb trail element. /// </summary> /// <param name="sb">The destination <see cref="T:StringBuilder" />.</param> /// <param name="page">The page to append.</param> /// <param name="dpPrefix">The drop-down menu ID prefix.</param> private void AppendBreadcrumb(StringBuilder sb, PageInfo page, string dpPrefix) { var comp = new PageNameComparer(); var pageTitle = Content.GetPageTitle(page, true); var id = AppendBreadcrumbDropDown(sb, page, dpPrefix); var nspace = NameTools.GetNamespace(page.FullName); sb.Append("» "); if (comp.Compare(page, currentPage) == 0) { sb.Append("<b>"); } sb.AppendFormat(@"<a href=""{0}"" title=""{1}""{2}{3}{4}>{1}</a>", Tools.UrlEncode(page.FullName) + Settings.PageExtension, FormattingPipeline.PrepareTitle(pageTitle, false, FormattingContext.PageContent, currentPage) + (string.IsNullOrEmpty(nspace) ? "" : (" (" + NameTools.GetNamespace(page.FullName) + ")")), (id != null ? @" onmouseover=""javascript:return __ShowDropDown(event, '" + id + @"', this);""" : ""), (id != null ? @" id=""lnk" + id + @"""" : ""), (id != null ? @" onmouseout=""javascript:return __HideDropDown('" + id + @"');""" : "")); if (comp.Compare(page, currentPage) == 0) { sb.Append("</b>"); } sb.Append(" "); }