HtmlGenericControl重新加载页面

时间:2015-07-30 20:45:16

标签: c# html asp.net

我有一个foreach循环遍历每一行以添加lia元素。从下面的代码中可以看到,'stars'列的当前行值被添加到a元素,gymTypes有6行:

1 STAR 2 STAR 3星 4 STAR 5星 6 STAR

所以你可以想像我想为他们创造的每一个html元素,但是在调试时,它只能通过foreach循环一次,并给出了“System.StackOverflowException”的一个例外,然后将其重新加载页面。

foreach(DataRow row in gymTypes.Rows)
{
  HtmlGenericControl li = new HtmlGenericControl("li");
  HtmlGenericControl a = new HtmlGenericControl("a");
  a.InnerText = row["stars"].ToString();
  li.Controls.Add(li);
  gym_tab_stars.Controls.Add(li);
}

有谁知道为什么我会收到这个例外?

由于

1 个答案:

答案 0 :(得分:0)

问题是li本身就是一个孩子。这是在呈现HTML时导致堆栈溢出异常。

li.Controls.Add(li);更改为li.Controls.Add(a)