我有一个 Category 对象(使用 EF 获取),它有一个导航对象 Parent,它基本上是另一个 Category。
这些 Category 对象不断递归,直到 Parent 为空。
我需要得到什么:
<ul>
<li>Highest level category (parent=null)</li>
<li>
<ul>
<li>Second highest level category</li>
<ul>
<li>Local category</li>
</ul>
<ul>
</li>
</ul>
最好没有大量的字符串操作(因为涉及大量的类和其他东西),并且纯粹使用递归视图。现在的问题是,我不知道它应该如何工作。如果我从最高级别下降会很容易,但我需要上升(向后)。
是)我有的:
@model Domain.Category
@{
ViewBag.Recursion = (int) ViewBag.Recursion + 1;
}
@if (Model.Parent != null)
{
@Html.Partial("_RecursiveCategory", Model.Parent)
<li>
<ul class="categorylist">
<li>@Html.ActionLink(Model.Name, "Index", "Categories", new {Model.Id, name = Model.FriendlyName}, null)</li>
</ul>
</li>
}
else
{
<li>@Html.ActionLink(Model.Name, "Index", "Categories", new {Model.Id, name = Model.FriendlyName}, null)</li>
}
这显然可以达到二级,但从那里开始,它们都在同一条线上。
那么,谁能想到一个很好的解决方案来解决这个问题?再一次,没有大量的字符串连接?