示例#1
0
        /// <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("&raquo; ");
            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(" ");
        }