我正在尝试制作嵌套的ul&代码背后的li标签。为此,我在.aspx页面中编写了初步代码
我的C#代码:
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
HtmlGenericControl li = new HtmlGenericControl("li");
tabs.Controls.Add(li);
HtmlGenericControl anchor = new HtmlGenericControl("a");
anchor.Attributes.Add("href", "#");
anchor.InnerText = ds.Tables[0].Rows[i][0].ToString();
li.Controls.Add(anchor);
HtmlGenericControl ul = new HtmlGenericControl("ul");
li.Controls.Add(ul);
if (ds.Tables[0].Rows[i][2] != null)
{
HtmlGenericControl ili = new HtmlGenericControl("li");
ul.Controls.Add(ili);
HtmlGenericControl ianchor = new HtmlGenericControl("a");
ianchor.Attributes.Add("href","page.aspx");
ianchor.InnerText = ds.Tables[0].Rows[i][0].ToString();
ili.Controls.Add(ianchor);
HtmlGenericControl ul2 = new HtmlGenericControl("ul");
ili.Controls.Add(ul2);
param = ds.Tables[0].Rows[i][2].ToString();
LevelControl(param);
}
li.Controls.Add(ul);
tabs.Controls.Add(li);
}
当我运行我的项目并在菜单上检查元素时,我看到类似这样的内容
|page1|
|page1|
|page2|
|page2|
|page3|
|page3|
在li里面没有创建嵌套的ul标签?为什么??
例如:
|page1|
|page2|
|page3|
我需要做些什么来获得我想要的结果?
答案 0 :(得分:1)
使用此代码,这是有效的,
HtmlGenericControl ul = new HtmlGenericControl("ul");
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
HtmlGenericControl li = new HtmlGenericControl("li");
HtmlGenericControl anchor = new HtmlGenericControl("a");
anchor.Attributes.Add("href", "#");
anchor.InnerText = ds.Tables[0].Rows[i][0].ToString();
li.Controls.Add(anchor);
ul.Controls.Add(li);
if (ds.Tables[0].Rows[i][2] != null)
{
HtmlGenericControl ul2 = new HtmlGenericControl("ul");
HtmlGenericControl ili = new HtmlGenericControl("li");
ul2.Controls.Add(ili);
HtmlGenericControl ianchor = new HtmlGenericControl("a");
ianchor.Attributes.Add("href", "page.aspx");
ianchor.InnerText = ds.Tables[0].Rows[i][0].ToString();
ili.Controls.Add(ianchor);
ul.Controls.Add(ul2);
param = ds.Tables[0].Rows[i][2].ToString();
LevelControl(param);
}
}
tabs.Controls.Add(ul);