private void CreateBreadCrumb() { try { StringBuilder sb = new StringBuilder(); List <Project_Pagemap> lstPagemap = GetFriendlyURLSFromTaxonomy(); List <lappiaBreadcrumb> lstbreadCrumb = new List <lappiaBreadcrumb>(); Uri lappiaUri = Page.Request.Url; var parsedQuery = HttpUtility.ParseQueryString(lappiaUri.ToString()); string termId = parsedQuery["TermId"]; Project_Pagemap objPagemap = (from p in lstPagemap where p.TermId.ToString() == termId select p).SingleOrDefault(); string siteURL = SPContext.Current.Web.Url; //(uint)System.Globalization.CultureInfo.CurrentUICulture.LCID == 1033 ? "/sites/en-us" : "/sites/fi-fi"; lappiaBreadcrumb objBreadcrumb = new lappiaBreadcrumb(); objBreadcrumb.name = System.Threading.Thread.CurrentThread.CurrentCulture.TextInfo.ToTitleCase(objPagemap.Name); objBreadcrumb.url = siteURL + objPagemap.Url; objBreadcrumb.id = 0; lstbreadCrumb.Add(objBreadcrumb); breadcrumb(objPagemap, lstPagemap, sb, 1, lstbreadCrumb, siteURL); lstbreadCrumb = lstbreadCrumb.OrderByDescending(x => x.id).ToList(); sb.Append("<ol class='breadcrumb'>"); sb.Append("<li><a href='" + siteURL + "'>Home </a></li>"); for (int i = 0; i < lstbreadCrumb.Count; i++) { if (i == (lstbreadCrumb.Count - 1)) { sb.Append("<li class='active'>" + lstbreadCrumb[i].name + "</a></li>"); } else { sb.Append("<li><a href='" + lstbreadCrumb[i].url + "'>" + lstbreadCrumb[i].name + "</a></li>"); } } sb.Append("</ol>"); lblBeadcrumb.Text = sb.ToString(); } catch (Exception ex) { lblMessage.Text = "CreateBreadCrumb Error : " + ex.Message; } }
private StringBuilder breadcrumb(Project_Pagemap objPagemap, List <Project_Pagemap> lstPagemap, StringBuilder sb, int id, List <lappiaBreadcrumb> lstBreadcrumb, string url) { try { if (objPagemap.Subsection.ToLower() == "root") { } else { Project_Pagemap objProjPagemap = (from p in lstPagemap where p.Name.ToLower() == objPagemap.Subsection.ToLower() select p).SingleOrDefault(); lappiaBreadcrumb objBreadcrumb = new lappiaBreadcrumb(); objBreadcrumb.name = System.Threading.Thread.CurrentThread.CurrentCulture.TextInfo.ToTitleCase(objProjPagemap.Name); objBreadcrumb.url = url + objProjPagemap.Url; objBreadcrumb.id = id; lstBreadcrumb.Add(objBreadcrumb); breadcrumb(objProjPagemap, lstPagemap, sb, (id + 1), lstBreadcrumb, url + "/" + objProjPagemap.Url); } } catch (Exception ex) { lblMessage.Text = "breadcrumb Error : " + ex.Message; } return(sb); }