我得到一个错误当我添加一个MenuList进入菜单。 计算机科学,因为我的MySql表中没有MenuList那里。 但我无法添加MenuList菜单。 cs,这意味着我不能创建一个动态菜单,任何人在这种情况下有解决方案吗? 请帮助我,我被困在这里大约一个星期。
MySql表:
CREATE TABLE Menusss( MenuId int not null auto_increment, MenuName varchar(250), ParentId int, ActiveNo int );
Menus.cs:
public class Menus { [Key] public int MenuId { get; set; } public string MenuName { get; set; } public int? ParentId { get; set; } public int ActiveNo { get; set; } public List<Menus> MenuList { get; set; } = new List<Menus>(); }
MenusController.cs:
[HttpGet] public ActionResult<List<Menus>> GetMenus() { List<Menus> menuList = new List<Menus>(); foreach (Menus m in _context.menus.ToList()) { menuList.Add(m); } List<Menus> menuTree = GetMenuTree(menuList, null); return menuTree; } private List<Menus> GetMenuTree(List<Menus> list, int? parentId) { return list.Where(x => x.ParentId == parentId).Select(x => new Menus() { 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(); } }); function buildMenu(parent, items) { $.each(items, function () { var li = $("<li>" + this.MenuName + "</li>"); if (this.ActiveNo == 0) { li.addClass('ui-state-disabled'); } li.appendTo(parent); if (this.MenuList && this.MenuList.length > 0) { var ul = $("<ul></ul>"); ul.appentTo(li); buildMenu(ul, this.MenuList); } }); } });
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。