这样?                sresult += "<ul>\n";
                foreach (DataRow row in selectrows)
                {
                    sresult += "<li>" + row["Name"];
                    GetRowsByParentID(table, Convert.ToInt32(row[0]), ref sresult);
                    sresult += "</li>\n";
                }
                sresult += "</ul>\n<ul>";
还是这样?                sresult += "<ul>\n";
                foreach (DataRow row in selectrows)
                {
                    sresult += "<li>" + row["Name"] + "</li>\n";
                    GetRowsByParentID(table, Convert.ToInt32(row[0]), ref sresult);
                }
                sresult += "</ul>\n<ul>";

解决方案 »

  1.   

                if (selectrows == null || selectrows.Length == 0)
                {
                    return;
                }
                else
                {
                    foreach (DataRow row in selectrows)
                    {
                        sresult += "<ul>\n";
                        sresult += "<li>" + row["Name"] + "<li>\n";
                        GetRowsByParentID(table, Convert.ToInt32(row[0]), ref sresult);
                        sresult += "</ul>\n<ul>";
                    }   
                }这样就可以了吧,你试一下
      

  2.   

    那就是这样了:  if (selectrows == null || selectrows.Length == 0)
      {
      return;
      }
      else
      {
      foreach (DataRow row in selectrows)
      {
      sresult += "<ul>\n";
      sresult += "<li>" + row["Name"] + "<li>\n";
      sresult += "</ul>\n<ul>";
      GetRowsByParentID(table, Convert.ToInt32(row[0]), ref sresult);
      }   
      }
      

  3.   


    你试了没有?你要的不就<ul><li></li></ul>, 还有什么要求?
    最好给一个最终你想要的完整的输出结果,
    你这个有歧义,
    ul><li></li></ul>是一个记录的格式,还是所有记录的?
      

  4.   

    表结构:
    id Name parentid
    1  a       0
    2  b       1
    3  c       1
    4  d       0
    你代码遍历看看我要的结果为<ul>
    <li>a</li>
    <ul>
    <li>b</li>
    <li>c</li>
    </ul>
    </ul>
    <ul>
    <li>d</li>
    </ul>
      

  5.   

    <ul>
    <li>a</li>
    <ul>
    <li>b</li>
    <li>c</li>
    </ul>
    </ul>
    <ul>
    <li>d</li>
    </ul>
      

  6.   

               if (selectrows == null || selectrows.Length == 0)
                {
                    return;
                }
                else
                {
                    if(selectrows.Count = 1)
                        sresult += "<ul>\n";
                    foreach (DataRow row in selectrows)
                    {
                        sresult += "<li>" + row["Name"] + "<li>\n";
                        GetRowsByParentID(table, Convert.ToInt32(row[0]), ref sresult);
                    }
                    if(selectrows.Count = 1)
                         sresult += "</ul>\n<ul>";
                }
      

  7.   


    逻辑上有错误,万一select.rows的数量不为1,那么连ul都无法出现了。很感谢您的回复。谢谢。逻辑上
      

  8.   

    楼主的代码没问题,就是最后多了个<ul>
    sresult += "</ul>\n";
      

  9.   


    sresult += "<ul>\n";
    foreach (DataRow row in selectrows)
    {
         sresult += "<li>" + row["Name"] + "<li>\n";
    }
    GetRowsByParentID(table, Convert.ToInt32(row[0]), ref sresult);
    sresult += "</ul>\n<ul>";
    这样滴吧...
      

  10.   

    晕,不好意思,看错了
    这样滴你看行不行..这个方法改一哈,把table变成全局变量
    GetRowsByParentID(int id, ref string sresult)
    {
       //这里面一个if(判断table!=null  &&  table.count != 0)
        sresult += "<ul>\n";
        foreach (DataRow row in table.Rows)
        { 
          if(row["Prentid"].Tostring() == id.Tostring())
          {
             sresult += "<li>" + row["Name"] + "<li>\n";
             GetRowsByParentID(Convert.ToInt32(row[0]), ref sresult);
          }
         }
         sresult += "</ul>\n<ul>";
    }
      

  11.   

                    sresult += "<ul>\n";
                    foreach (DataRow row in selectrows)
                    {
                        sresult += "<li>" + row["Name"] + "<li>\n";
                        GetRowsByParentID(table, Convert.ToInt32(row[0]), ref sresult);
                    }
                    sresult += "</ul>\n";
      

  12.   

    sresult   +=   " <ul> \n "; 
                                    foreach   (DataRow   row   in   selectrows) 
                                    { 
                                            sresult   +=   " <li> "   +   row[ "Name "]   +   " <li> \n "; 
                                            GetRowsByParentID(table,   Convert.ToInt32(row[0]),   ref   sresult); 
                                    } 
                                    sresult   +=   " </ul> \n "; 
      

  13.   

    上海创远急招C#程序员;急急急急急急急急急
    最好能5.1前到岗;有效时间3个月
    http://www.transcom.net.cn/cn/hr/要求
    1.擅长面向对象设计开发(主要技能);2.有地理信息开发、无线通信行业经验最好;