[.NET/.NET Core]ASP.NET Core Razor Pages应用程序中如何使用递归遍历输出无限层级的树形菜单结构呢?
2K 次浏览
在C#/.NET的应用程序编程开中,使用递归遍历输出无限层级的树形菜单是比较常见的需求,实现方式也随着应用场景不同而不同,现需要在ASP.NET Core Razor Pages的应用程序中,使用递归的方式直接在Razor Pages页面输出树形层级结构,应该如何呢,要求得到的树形HTML结构类似如下:
<ul class="tree-sample">
<li class="collapsible open">
<span title="子节点数(3)">一级菜单01 (3)</span>
<ul>
<li class="collapsible open">
<span title="子节点数(2)">二级菜单0101 (2)</span>
<ul>
<li>
<span>
<a href="" title="三级菜单010101">三级菜单010101</a>
</span>
</li>
<li>
<span>
<a href="" title="三级菜单010102">三级菜单010102</a>
</span>
</li>
</ul>
</li>
<li>
<span>
<a href="" title="二级菜单0102">二级菜单0102</a>
</span>
</li>
<li>
<span>
<a href="" title="二级菜单0103">二级菜单0103</a>
</span>
</li>
</ul>
</li>
<li class="collapsible open">
<span title="子节点数(2)">一级菜单02 (2)</span>
<ul>
<li>
<span>
<a href="" title="二级菜单0201">二级菜单0201</a>
</span>
</li>
<li>
<span>
<a href="" title="二级菜单0202">二级菜单0202</a>
</span>
</li>
</ul>
</li>
<li>
<span>
<a href="" title="一级菜单03">一级菜单03</a>
</span>
</li>
<li>
<span>
<a href="" title="一级菜单04">一级菜单04</a>
</span>
</li>
</ul>
期望的页面渲染效果类似如下: