我試着基於從數據庫創建動態UL李
基本上列我從DB收到收到的數據來創建動態UL李如下 1.CategoryID 2.ParentCategoryID 3.Href 4.Name。
現在我使用下面的循環來創建我的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
假設我INOUT如下
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
目前我的代碼工作,直到whre我得到
- AC
- DE
- FG
如何改善這讓我明白了吧要在父類別下列出的子類別?
我該如何做第二遍? – MarsOne
將從閱讀器讀取的數據存儲在列表中,並再次在列表中運行。如果你閱讀了我的最後一個陳述,你應該可以在一個循環中完成。 –
是的。我正在那樣做。謝謝。最後,我得到了我的代碼工作 – MarsOne