我有一个Category对象(用EF提取),它有一个导航对象Parent,它基本上是另一个Category。把所有的父母放入列表中
这些Category对象继续递归直到Parent为null。
我需要得到:
<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>
}
这显然变细到第二级,但是从那里出来,他们都在同一行。
那么,任何人都可以想出一个很好的解决方案,如何解决这个问题?再一次,没有大量的字符串连接?
正是我需要的! – NeroS 2013-02-12 09:33:43
太棒了!很高兴我能帮上忙。 – 2013-02-12 09:49:05