当前位置:首页 > ASP教程 > 存储过程

如何创建动态菜单在ASP。 净核心剃刀页面与Web Api

我得到一个错误当我添加一个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);
        }
    });
}

});


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!

相关教程推荐

其他课程推荐