public void BuidlRolesTree() { CoreLibrary.SiteMap.Controller smController = new CoreLibrary.SiteMap.Controller(); List<ServicesLibrary.Entities.SiteMap> sitemapList = smController.GetAll().OrderBy(c => c.IdParent).ToList(); List<SiteMapTree> smtList = new List<SiteMapTree>(); int ilLevel = 0; int? ilParent = 0; string slParentKey =""; foreach (ServicesLibrary.Entities.SiteMap smItem in sitemapList) { if (ilParent != smItem.IdParent) { ilLevel = smtList.Where(c => c.IdSiteMap == smItem.IdParent).FirstOrDefault().Level + 1; ilParent = smItem.IdParent.Value; } slParentKey =String.Format("{0}",smtList.Where(c=>c.IdSiteMap == (ilParent==null?null :ilParent) ).Select(c=> c.OrderKey).FirstOrDefault()); SiteMapTree smtItem = new SiteMapTree() { Level = ilLevel, IdSiteMap = smItem.IdSiteMap, IdParent = smItem.IdParent, Description = smItem.Description, EntStatus = smItem.EntStatus, IsBrowsable = smItem.IsBrowsable, Name = smItem.Name, RoleCode = smItem.RoleCode, URL = smItem.URL, OrderKey = String.Format("{0}{1}", slParentKey != "" ? slParentKey + "," : "", ilLevel.ToString()) //OrderKey = String.Format("{0}", slParentKey != "" ? slParentKey + "," : slParentKey) }; //OrderKey = String.Format("{0}-{1}-{2}",ilLevel,smItem.IdSiteMap,smItem.IdParent) smtList.Add(smtItem); } smtList = smtList.OrderBy(c => c.OrderKey).ToList(); tvSiteMap.Nodes.Clear(); BuildTreeView(null, smtList, 0); //return smtList; }
protected override void OnLoad(System.EventArgs e) { base.OnLoad(e); SiteMapTree.DataBind(); }