2

我有一个动态导航栏,可以从数据库中获取 url 数据;它在计算机上运行良好,但如果我尝试使用手机访问下拉菜单,则不会显示任何内容。

我的代码是这样的:

<ul id="navBar"></ul>

$(document).ready(function() {
   $.ajax({
    type: 'Get',
    url: '@Url.Action("GetDataForNavBar", controllerName, new { Area="" })',
    success: function (data) {
        $("#navBar").kendoMenu({
            dataSource: data.data
        });
    }
   });
});
public ActionResult GetDataForNavBar(){
    List<MenuOptions> optionMenu = ManagerService.MenuOptionsManager.GetAll().ToList();            
    List<MenuOptions> menusParent = optionMenu.Where(a => a.parent == null).ToList();            

    foreach (MenuOptions menu in menusParent)
    {
        menu.children.AddRange(optionMenu.Where(a => a.parent == menu.id));                
    }

    //Create list for view
    var result = menusParent.Select(a => new
    {
        text = a.title,
        items = a.children.Where(b => b.parent == a.id).Select(c => new
        {
            text = c.title,
            url = Url.Action(c.view, c.controller, new { Area = c.area })
        }).ToList()
    });

    return Json(new { data = result }, JsonRequestBehavior.AllowGet);
}
4

2 回答 2

0

我将此添加到菜单配置中以解决它

openOnClick: {
    rootMenuItems: true
}
于 2019-11-21T08:54:37.197 回答
0

如果您在桌面上显示并且不在相同地址和参数上显示移动设备,您可以控制您的 css 类或样式。首先,您必须在开发者工具 (F12) 上检查您的 DOM 元素,您需要查看菜单项。如果我说的是有效的,请检查您的 css 属性和值。控制剑道菜单类,或者是否有属性。如果您写一个示例或链接,也许我可以帮助您。

于 2019-11-15T08:01:19.597 回答