예제 #1
0
        /// <summary>
        /// 填充面包屑
        /// </summary>
        /// <param name="url"></param>
        /// <returns></returns>
        public static MvcHtmlString PopulateBreadcrumb(string url)
        {
            StringBuilder str      = new StringBuilder();
            List <string> pathList = new List <string>();
            MvcSiteMap    current  = GetSiteMapList().FirstOrDefault(m => m.Url == url);

            GetParent(current, pathList);
            pathList.Reverse();

            for (int i = 0; i < pathList.Count; i++)
            {
                if (i == pathList.Count - 1)
                {
                    string s = pathList[i];
                    s = s.Substring(s.IndexOf(">") + 1, s.LastIndexOf("<") - s.IndexOf(">") - 1);
                    str.AppendFormat("<li class='active'>{0}</li>", s);
                }
                else
                {
                    str.AppendFormat("<li>{0}</li>", pathList[i]);
                }
            }

            string result = str.ToString();

            return(MvcHtmlString.Create(result));
        }
예제 #2
0
 /// <summary>
 /// 递归找到上一级
 /// </summary>
 /// <param name="parent"></param>
 /// <param name="pathList"></param>
 static void GetParent(MvcSiteMap parent, List <string> pathList)
 {
     if (parent != null)
     {
         pathList.Add(string.Format("<a href={0}>{1}</a>", parent.Url, parent.Name));
         parent.Parent = GetSiteMapList().FirstOrDefault(i => i.ID == parent.ParentID);
         GetParent(parent.Parent, pathList);
     }
 }