HtmlGenericControl GetChildren(Guid parentId)
{
HtmlGenericControl ul = new HtmlGenericControl("ul");
if (!_ulIdSet)
{
ul.Attributes.Add("id", "menu-topmenu");
ul.Attributes.Add("class", "menu");
_ulIdSet = true;
AddMenuItem(ul, Home, "~/default.aspx");
AddMenuItem(ul, Archive, "~/archive.aspx");
}
foreach (BlogEngine.Core.Page page in BlogEngine.Core.Page.Pages)
{
if (page.ShowInList && page.IsPublished)
{
if (page.Parent == parentId)
{
HtmlGenericControl li = new HtmlGenericControl("li");
string pageName = HttpUtility.UrlEncode(GetPageName(page.RelativeLink.ToString().ToLower()));
HtmlAnchor anc = new HtmlAnchor();
anc.HRef = page.RelativeLink.ToString();
anc.InnerHtml = page.Title;
anc.Title = page.Description;
if (pageName == _curPage)
{
anc.Attributes.Add("class", "current");
}
li.Controls.Add(anc);
if (HasChildren(page.Id))
{
HtmlGenericControl subUl = GetChildren(page.Id);
li.Controls.Add(subUl);
}
ul.Controls.Add(li);
}
}
}
return ul;
}