【发布时间】:2019-01-23 08:21:32
【问题描述】:
我想在 mvc 布局页面中显示动态菜单。
在我的数据库表中有 menuid 和 parentid ,我想显示嵌套菜单。
如果有人有解决方案,请帮助我,如果有任何其他方法可以举个例子。
这是我的数据库
Database Table Structure
这是我的控制器代码
public ActionResult Index()
{
using (MachineShopDBEntities db = new MachineShopDBEntities())
{
List<MenuMaster> list = db.MenuMasters.ToList();
ViewBag.MenuList = new SelectList(list);
}
return View();
}
这是我的模型
public partial class MenuMaster
{
public int MenuID { get; set; }
public string MenuText { get; set; }
public string Description { get; set; }
public Nullable<int> ParentID { get; set; }
public string ControllerName { get; set; }
public string ActionName { get; set; }
public bool IsChecked { get; set; }
public List<MenuMaster> menus { get; set; }
public IEnumerable<SelectListItem> users { get; set; }
}
这是我的看法
<ul class="sidebar-menu">
@{
if (ViewBag.MenuList != null)
{
foreach (var items in ViewBag.MenuList.Items)
{
string action = items.ActionName;
string controller = items.ControllerName;
<li class="treeview">
@if (items.ParentID == items.MenuID)
{
<ul class="treeview-menu">
<li class="treeview">
<a href="/@items.ControllerName/@items.ActionName">
<i class="fa fa-angle-double-right"></i> <span>@items.MenuText</span>
<i class="fa fa-angle-left pull-right"></i>
</a>
</li>
</ul>
}
<a href="/@items.ControllerName/@items.ActionName">
<i class="fa fa-user"></i> <span>@items.MenuText</span>
<i class="fa fa-angle-left pull-right"></i>
</a>
</li>
}
}
}
我想要的这种类型的输出 output image
【问题讨论】:
-
上面的代码有什么问题或错误吗?还是没有按预期工作?
-
输出没有错误,但是。如何显示孩子和子孩子及其子孩子。?
-
好的,让我为你准备答案
-
好的。谢谢你..
-
您想要下拉菜单或类似菜单的树形视图?
标签: c# sql-server asp.net-mvc razor