public static void BuildNode(List<DocumentSiteMapViewModel> documents, DocumentSiteMapViewModel document, string id) { foreach (var d in documents) { if (d.ParentID == document.ID) { if (document.Children == null) document.Children = new List<DocumentSiteMapViewModel>(); document.Children.Add(d); BuildNode(documents, d, id); } } }
public static MvcHtmlString WriteNode(DocumentSiteMapViewModel document, string id) { var output = new List<MvcHtmlString>(); output.Add(new MvcHtmlString("<li><span class=\"glyphicon glyphicon-file\"></span> ")); if(id != document.ID) output.Add(new MvcHtmlString("<a class=\"document\" href=\"" + document.Location + "\" data-moveid=\"" + id + "\" data-documentid=\"" + document.ID + "\">" + document.Title + "</a>")); else output.Add(new MvcHtmlString(document.Title)); if (document.Children != null && document.Children.Count > 0) { output.Add(new MvcHtmlString("<ul>")); foreach (var child in document.Children) { output.Add(WriteNode(child, id)); } output.Add(new MvcHtmlString("</ul>")); } output.Add(new MvcHtmlString("</li>")); return new MvcHtmlString(string.Join("", output)); }