1
我試圖創建一個遞歸方法來創建一個菜單。 我想實現的菜單顯示兒童的孩子等。 我已經調試過代碼,一直到「最小的孩子」。遞歸方法不會循環兒童兒童
public string GetMenu(Node currentPage)
{
StringWriter stringWriter = new StringWriter();
using (HtmlTextWriter writer = new HtmlTextWriter(stringWriter))
{
foreach (var item in currentPage.ChildrenAsList)
{
writer.RenderBeginTag(HtmlTextWriterTag.Li);
writer.AddAttribute(HtmlTextWriterAttribute.Href, item.Url);
writer.RenderBeginTag(HtmlTextWriterTag.A);
writer.Write(item.Name);
if (item.ChildrenAsList.Any())
{
writer.RenderBeginTag(HtmlTextWriterTag.Ul);
GetMenu(new Node(item.Id));
writer.RenderEndTag();
}
writer.RenderEndTag();
writer.RenderEndTag();
}
}
return stringWriter.ToString();
}
這種方法給輸出:
<ul class="nav nav-sidebar">
<li>
<a href="/artikelsida001/">Artikelsida001
<ul>
</ul>
</a></li>
<li><a href="/patrikartikelsida/">PatrikArtikelsida
<ul>
</ul>
</a></li>
<li><a href="/en-testsida/">En testsida</a></li>
</ul>
我想你忘了問一個問題。 BUt我懷疑它與你對GetMenu(新節點(item.Id))的迴應有關。' – Jamiec
對不起@MongZhu,這是我在這裏的第一篇文章,所以我重寫了幾次,使它成爲好。顯然它沒有那麼好。無論如何Jon已經解決了,謝謝! :) –
@PatrikJansson別擔心。您可以使用您帖子下方的[編輯按鈕](http://stackoverflow.com/posts/42509835/edit)將信息添加到您的帖子中。它不是刻在石頭上)幸運 –