C#递归生成HTML树
public StringBuilder str = new StringBuilder(); //定义一个字符串
private void get_navigation_childs(List<TableClass> oldData, string parent_id) { List<TableClass> dr = oldData.Where(x => x.PCode == parent_id).OrderBy(x => x.Kid).ToList(); //Code代表节点信息,PCode代表父级节点信息,PMMC代表节点名称 bool isWrite = false; //是否输出开始标签 for (int i = 0; i < dr.Count(); i++) { //如果是顶级导航 if (parent_id == "") { str.Append("<ul>"); str.Append("<li class='parent_li' >"); str.Append("<span title='Collapse this branch'>"); str.Append("<i class='icon-folder-open'></i>" + dr[i].PMMC + "</span> "); //str.Append("<a href='RoleListEdit.aspx?); //str.Append("<a data='RoleListList.aspx?); //调用自身迭代 this.get_navigation_childs(oldData, dr[i].Code); str.Append("</ul>"); } else //下级导航 { if (!isWrite) { isWrite = true; str.Append("<ul>"); } str.Append("<li>"); str.Append(" <span><i class='icon-leaf'></i>" + dr[i].PMMC + "</span>"); //str.Append("<a href='RoleListEdit.aspx?); //str.Append("<a data='RoleListList.aspx?); //调用自身迭代 this.get_navigation_childs(oldData, dr[i].Code); str.Append("</li>"); if (i == (dr.Count() - 1)) { str.Append("</ul>"); } } } }