为啥下面的代码不能一行输出两列

为什么下面的代码不能一行输出两列?
本帖最后由 jhdxhj 于 2014-08-01 21:15:42 编辑
            string k = "";
            k="<table>";

            for (int i = 0; i<9; i++)
            {
                if (i % 2 == 0)
                {
                    k += "<tr>";
                   k += "<td>";
                    k += i;
                    k += "</td>";
                    k += "</tr>";
                }
                else
                {
                    k += "<td>";
                    k += i;
                    k += "</td>";
                }

            }
            k += "</table>";
            DD.InnerHtml = k;  其中DD是一个DIV的ID,求分析,目的是每行输出两列,如果不足两列就只输出一列
------解决方案--------------------
把 k += "</tr>";
移到
else代码块内部的最后。
               if (i % 2 == 0)
                {
                    k += "<tr>";
                   k += "<td>";
                    k += i;
                    k += "</td>";
                }
                else
                {
                    k += "<td>";
                    k += i;
                    k += "</td>";
                    k += "</tr>";
                }

------解决方案--------------------
你可以这样
    k = "";
    k = "<table border=1>";
    int i;
    for (i = 0; i < 8; i++) {
      if (i % 2 == 0) {
        k += "<tr>";

      }

      k += "<td>";
      k += i;
      k += "</td>";

    }
    if (i % 2 == 0) {
      k += "</tr>";

    } else {
      k += "<td>&nbsp;</td>";
      k += "</tr>";
    }
    k += "</table>";