如題,我想在razor頁面生成樹形選單,資料庫資料如下
ID MENU_NAME PARENT_ID URL ICON ORDER
1 系統設定 0 NULL NULL 1
2 其他設定 1 NULL NULL 2
3 用戶管理 1 User/Index NULL 3
4 測驗設定 2 OtherTest/Index NULL 4
以下代碼是前臺的代碼,但是只能生成2級選單,無法生成多級的,求大神 給個思路 如何生成多級選單
@if (menus != null)
{
foreach (var module in menus.OrderBy(x => x.ORDER).Where(o => o.PARENT_ID == "0"))
{
<li>
<a href="https://bbs.csdn.net/topics/#">
<i class="@(string.IsNullOrWhiteSpace(module.ICON) ? "fa fa-tv" : module.ICON)"></i>
<span class="nav-label">@module.MENU_NAME</span>
<span class="fa arrow"></span>
</a>
<ul class="nav nav-second-level">
@foreach (var menu in menus.OrderBy(x => x.ORDER).Where(item => item.PARENT_ID == module.ID))
{
<li>
<a class="J_menuItem" href="https://bbs.csdn.net/topics/@menu.URL" data-index="@module.ID">
<i class="@(string.IsNullOrWhiteSpace(module.ICON) ? "fa fa-angle-right" : menu.ICON)"></i>
@menu.MENU_NAME
</a>
</li>
}
</ul>
</li>
}
}
uj5u.com熱心網友回復:
你的那個 @foreach 沒有必要寫,控制元件直接遞回呼叫自己就行了。轉載請註明出處,本文鏈接:https://www.uj5u.com/net/259618.html
標籤:C#
