public HttpResponseMessage GetBackUserNavigationBar(int Id) { IList <Models.NavigationBar> list = new List <Models.NavigationBar>(); string sql = " select distinct n.* from [dbo].[BackUser] AS b left join BackUserRole AS br on b.Id = br.BackUserId left join RoleNavigationBar AS rn on br.RoleId = rn.RoleId left join NavigationBar AS n on rn.NavigationBarId = n.Id where b.Id = " + Id + " and br.RoleId = rn.RoleId "; string connstring = entities.Database.Connection.ConnectionString; using (SqlConnection conn = new SqlConnection(connstring)) { conn.Open(); SqlCommand cmd = new SqlCommand(sql, conn); SqlDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { Models.NavigationBar model = new Models.NavigationBar(); model.Id = (int)dr["Id"]; model.Pid = (int)dr["Pid"]; model.Path = dr["Path"].ToString(); model.Icon = dr["Icon"].ToString(); model.NavigationName = dr["NavigationName"].ToString(); list.Add(model); } var ss = list; } List <NavigationBarModel> allModel = new List <NavigationBarModel>(); foreach (var item in list) { NavigationBarModel model1 = new NavigationBarModel(); model1.Id = item.Id; model1.NavigationName = item.NavigationName; model1.Fid = Convert.ToInt32(item.Pid); model1.Path = item.Path; model1.Icon = item.Icon; allModel.Add(model1); } var topItems = allModel.Where(e => e.Fid == 0).ToList(); //顶级分类 List <NavigationBarModel> topModels = new List <NavigationBarModel>(); foreach (var item in topItems) { NavigationBarModel topModel = new NavigationBarModel(); topModel.Id = item.Id; topModel.NavigationName = item.NavigationName; topModel.Fid = item.Fid; topModel.Path = item.Path; topModel.Icon = item.Icon; LoopToAppendChildren(allModel, topModel); topModels.Add(topModel); } string json = JsonConvert.SerializeObject(topModels); return(new HttpResponseMessage { Content = new StringContent(json, System.Text.Encoding.UTF8, "application/json") }); }
public void LoopToAppendChildren(List <NavigationBarModel> allList, NavigationBarModel curItem) { var subItems = allList.Where(e => e.Fid == curItem.Id).ToList(); curItem.childs = new List <NavigationBarModel>(); curItem.childs.AddRange(subItems); foreach (var subItem in subItems) { LoopToAppendChildren(allList, subItem); } }
public static List <NavigationBarModel> FetchNavigationBarFromHtml(string htmlResources) { var pageResources = new HtmlDocument(); pageResources.LoadHtml(htmlResources); HtmlNode rootnode = pageResources.DocumentNode; string XPathString = "//ul[@id='globalnav']"; HtmlNodeCollection LiCollection = rootnode.SelectSingleNode(XPathString).SelectNodes("li"); var list = new List <NavigationBarModel>(); // Fetch each NavigationBar Item foreach (var li in LiCollection) { if (li.SelectSingleNode("a") != null) { var naviBarModel = new NavigationBarModel(); naviBarModel.Title = ToGlobalization(li.SelectSingleNode("a").InnerText); naviBarModel.PathUri = new Uri(li.SelectSingleNode("a").Attributes["href"].Value); // Check if it has innerItems naviBarModel.Items = new List <BarItemModel>(); naviBarModel.Items.Add(new BarItemModel { Title = naviBarModel.Title, PathUri = naviBarModel.PathUri, }); if (li.SelectSingleNode("ul[@class='gn-sub']") != null) { foreach (var innerLi in li.SelectSingleNode("ul[@class='gn-sub']").SelectNodes("li")) { naviBarModel.Items.Add(new BarItemModel { Title = ToGlobalization(innerLi.SelectSingleNode("a").InnerText), PathUri = new Uri(innerLi.SelectSingleNode("a").Attributes["href"].Value), }); } } list.Add(naviBarModel); } } return(list); }
public HttpResponseMessage GetNavigationBarList() { var query = entities.NavigationBar.ToList(); List <NavigationBarModel> allModel = new List <NavigationBarModel>(); foreach (var item in query) { NavigationBarModel model = new NavigationBarModel(); model.Id = item.Id; model.NavigationName = item.NavigationName; model.Fid = Convert.ToInt32(item.Pid); model.Path = item.Path; model.Icon = item.Icon; allModel.Add(model); } var topItems = allModel.Where(e => e.Fid == 0).ToList(); //顶级分类 List <NavigationBarModel> topModels = new List <NavigationBarModel>(); foreach (var item in topItems) { NavigationBarModel topModel = new NavigationBarModel(); topModel.Id = item.Id; topModel.NavigationName = item.NavigationName; topModel.Fid = item.Fid; topModel.Path = item.Path; topModel.Icon = item.Icon; LoopToAppendChildren(allModel, topModel); topModels.Add(topModel); } string json = JsonConvert.SerializeObject(topModels); return(new HttpResponseMessage { Content = new StringContent(json, System.Text.Encoding.UTF8, "application/json") }); }
public App() { InitializeComponent(); navigationBarModel = new NavigationBarModel(); MainPage = new NavigationPage(new ControlPage()); }
public ActionResult Index(NavigationBarModel model) { model.ActiveButton = NavigationButtons.Home; return(View(model)); }
public ActionResult Contact(NavigationBarModel model) { model.ActiveButton = NavigationButtons.Contact; return(View(model)); }