我有一个父ID和子ID ...这个子ID也是某个子ID的父级。父母有多个孩子......这些多子女有一些孩子的父母.. 例子:假设A是B,C,D和E的父...如果B有一些子名G,H,我和G有一些孩子有J,K ..现在如何在这种情况下使用foreach循环??? 现在如何使用foreach循环??? 这是代码,但它只适用于单亲父子关系(假设A有B,C,D子):
@model Abacus_CMS.Models.AbacusModel
@{
Layout = null;
//for parent
var ParentCatagoryList = Model.AbacusMenuList.Where(x => x.ParentCatagoryId == 0).ToList();
//for parentchild
var ParentChildMenuList = Model.AbacusChildMenuList.Where(x => x.ChildParentId != 0).ToList();
}
@*//add sidebar parent and their childname*@
@if (ParentCatagoryList.Count > 0)
{
<ul class="page-sidebar-menu " data-auto-scroll="true" data-slide-speed="200">
<li class="sidebar-toggler-wrapper">
<!-- BEGIN SIDEBAR TOGGLER BUTTON -->
<div class="sidebar-toggler">
</div>
<!-- END SIDEBAR TOGGLER BUTTON -->
</li>
@foreach (var item in ParentCatagoryList)
{
<li>
<a href="@Url.RouteUrl("GettingStarted", new {catname =HttpUtility.UrlEncode(item.Name.Replace(' ', '-')) })" id="@item.Name.Replace(' ', '-').ToLower()">
<i class="icon-user"></i>
<span class="title" style="margin-left: -24px;">@item.Name</span>
@*<span class="arrow " style="height: 4px;"></span>*@
<span class="icon-01"style="float: left;
margin-top: -2px;
margin-left: 20px;">
<i class="fa fa-angle-right" aria-hidden="true"></i>
</span>
</a>
<ul class="sub-menu">
@foreach (var childitem in ParentChildMenuList)
{
if (item.Id == childitem.ChildParentId)
{
<li style="margin-left: 38px;">
<span style="background: #999999; width: 4px; height: 4px; float: left; margin-left: -20px; margin-top: 13px;"></span>
<a href="@Url.RouteUrl("GettingStarted", new { catname = HttpUtility.UrlEncode(childitem.ChildName.Replace(' ', '-'))})" id="@childitem.ChildName.Replace(' ', '-').ToLower()">@childitem.ChildName</a>
</li>
}
}
</ul>
</li>
}
</ul>
}
这里有一个循环我得到父和另一个循环我得到了孩子...... soo多重组合我该怎么办? 如何编写递归函数(MVC.net中父子组合的动态foreach循环)??