如何创建动态菜单在ASP。 净核心剃刀页面与Web Api
我得到一个错误当我添加一个MenuList进入菜单。 计算机科学,因为我的MySql表中没有MenuList那里。 但我无法添加MenuList菜单。 cs,这意味着我不能创建一个动态菜单,任何人在这种情况下有解决方案吗? 请帮助我,我被困在这里大约一个星期。
MySql表:
CREATETABLEMenusss(MenuIdintnotnullauto_increment,MenuNamevarchar(250),ParentIdint,ActiveNoint);
Menus.cs:
publicclassMenus{[Key]publicintMenuId{get;set;}publicstringMenuName{get;set;}publicint?ParentId{get;set;}publicintActiveNo{get;set;}publicList<Menus>MenuList{get;set;}=newList<Menus>();}
MenusController.cs:
[HttpGet]publicActionResult<List<Menus>>GetMenus(){List<Menus>menuList=newList<Menus>();foreach(Menusmin_context.menus.ToList()){menuList.Add(m);}List<Menus>menuTree=GetMenuTree(menuList,null);returnmenuTree;}privateList<Menus>GetMenuTree(List<Menus>list,int?parentId){returnlist.Where(x=>x.ParentId==parentId).Select(x=>newMenus(){MenuId=x.MenuId,MenuName=x.MenuName,ParentId=x.ParentId,ActiveNo=x.ActiveNo,MenuList=GetMenuTree(list,x.MenuId)}).ToList();}
MY.js:
$(document).ready(function(){$.ajax({url:'',method:'get',dataType:'json',success:function(data){buildMenu($('#menu'),data);$('#menu').menu();}});functionbuildMenu(parent,items){$.each(items,function(){varli=$("<li>"+this.MenuName+"</li>");if(this.ActiveNo==0){li.addClass('ui-state-disabled');}li.appendTo(parent);if(this.MenuList&&this.MenuList.length>0){varul=$("<ul></ul>");ul.appentTo(li);buildMenu(ul,this.MenuList);}});}});
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。