あなたから別の代替ソリューションを見つけた、あなたが使用できるように、 Person
オブジェクトの子をトラバースする再帰関数です。
public class Person
{
public IEnumerable<Person> Children { get; set; }
public string Name { get; set; }
public string Link { get; set; }
}
public class PeopleHtmlGenerator
{
public string GetPeopleHtml(IEnumerable<Person> people)
{
return string.Format("<div>{0}</div>", GetChildren(people));
}
private string GetChildren(IEnumerable<Person> people)
{
StringBuilder result = new StringBuilder();
result.AppendLine("<ul>");
foreach (var person in people)
{
result.AppendLine(string.Format("<li><a href=\"{0}\">{1}</a></li>", person.Link, person.Name));
result.AppendLine(GetChildren(person.Children));
}
result.AppendLine("</ul>");
return result.ToString();
}
}
これは、テーブルの生成方法によって異なります...どのように生成されているのですか、データベースのデータはどうなっていますか? –
テーブルが固定されていない、上記のテーブルはどのようにデータが格納されるのですか – sams5817