0
는 내가 datatble 다음과 같이이 바인딩 :HTML은
id menuname url parentid
1 Home ~/Home.aspx NULL
2 Product ~/products.aspx NULL
3 Services ~/services.aspx NULL
4 ERP ~/erp.aspx 2
5 HRM ~/hrm.aspx 4
7 Payroll ~/payroll.aspx 4
8 Programming ~/programming.aspx 3
9 Advertising ~/advert.aspx 3
10 Television Advert ~/tvadvert.aspx 9
11 Radio Advert ~/radioadvert.aspx 9
........
........
그래서 내가 널 parentid과 항목은 첫 번째 수준 메뉴 해야한다는 등 위의 데이터 테이블을 기준으로 정렬되지 않은 목록에 메뉴 항목을 생성 할 불완전한 것 그 아래
<ul class="menu">
<li><a href="home.aspx">Home</a></li>
<li><a href="produc.aspx">Product</a>
<ul>
<li>
<a href="erp.aspx">ERP</a>
<ul>
<li><a href="hrm.aspx">HRM</a></li>
<li><a href="payroll.aspx">Payroll</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="services.aspx">Services</a>
<ul>
<li><a href="programming.aspx">Advertising</a></li>
<li><a href="advert.aspx">Programming</a></li>
</ul>
</li>
.....etc
</ul>
내 코드입니다 : 다른 사람이 같은 자신의 parentid에 따라 하위 메뉴가 될 것
public static String AddToList()
{
DataTable table = new DataTable();
table = GetMenus();
System.Text.StringBuilder sb = new System.Text.StringBuilder();
foreach (DataRow row in table.Rows())
{
string parentId = row["parentmenuId"].ToString();
//string url = Server.MapPath(m.Url);
if (string.IsNullOrEmpty(parentId))
{
sb.Append(String.Format("<ul class=\"menu\"><li><a href=\"{0}\">{1}</a></li></ul>", row["Url"].ToString(), row["Description"].ToString()));
}
}
return sb.ToString();
}
This gets all top menu but all other effort to get submenu doesnt work. Pls help me out.
Thanks in advance
으로 시작하면 코드에 재귀가 없습니다. – YavgenyP
메뉴의 트리 구조는 그것을 렌더링하는 코드에서 재귀를 의미한다고 가정합니다. –
도움이되는지 아닌지 알려 주셔서 감사합니다. 답변을 수락/거부하는 것이 정말 어렵습니까? – YavgenyP