使用ul,li和来自代码的href得不到确切的结果

时间:2014-06-17 04:23:43

标签: c# html-lists

我正在尝试制作嵌套的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|

我需要做些什么来获得我想要的结果?

1 个答案:

答案 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);