【发布时间】:2014-03-25 19:03:50
【问题描述】:
我正在尝试根据从数据库收到的数据创建动态 Ul Li
基本上我从数据库收到的列如下 1.CategoryID 2.ParentCategoryID 3.Href 4.姓名。
现在我使用以下循环来创建我的 UL。
while (rdr.Read())
{
if (rdr["ParentCategoryID"].ToString() == "")
{
System.Web.UI.HtmlControls.HtmlGenericControl newLI =
new System.Web.UI.HtmlControls.HtmlGenericControl("li");
newLI.Attributes.Add("class", "Item-"+(i+1));
newLI.ID = "id" + i;
newLI.InnerHtml = "<a href=" + '"' +
rdr["Href"].ToString() + "/default.aspx" +
'"' +'>' +
"<span>" + rdr["Name"]+"</span>" + "</a>";
newUL.Controls.Add(newLI);
i++;
}
}
在这种情况下,我只创建 UL 的顶层...但这是一个多级 UL
假设我的输入如下
CategoryID ParentCategoryID Href Name
1 NULL /a-d A-C
2 1 /a A
3 1 /b B
4 1 /c C
5 NULL /d-e D-E
6 5 /d D
7 5 /e E
8 NULL /f-g F-G
9 8 /f F
10 8 /g G
目前我的代码一直有效,直到我得到 p>
- A-C
- D-E
- F-G
如何改进这一点,以便将子类别列在父类别下?
【问题讨论】:
标签: c# dynamic html-lists stringbuilder