从后面的代码调用服务器端控件的空引用异常

时间:2014-04-17 06:36:03

标签: c# asp.net htmlgenericcontrol

我在populate a html list control using .NET

中提到了完全相同的问题

我保留了

<ul id="myList" runat="server" class="myClass">
</ul>

在ascx文件中并尝试从用户控件的代码后面动态填充它。

当我尝试使用解决方案时:

HtmlGenericControl li;

for (int x = 3; x <= 10; x++)
{
    li = new HtmlGenericControl("li");
    li.Attributes.Add("class", "myItemClass");
    li.InnerText = "Item " + x;

    myList.Controls.Add(li);
}

我在myList.Controls上得到空引用异常。我需要在某处初始化吗?

2 个答案:

答案 0 :(得分:1)

这对我来说很好。

<ul id="myList" runat="server" class="myClass">
</ul>

HtmlGenericControl li;

for (int x = 3; x <= 10; x++)
{
    li = new HtmlGenericControl("li");
    li.Attributes.Add("class", "myItemClass");
    li.InnerText = "Item " + x;

    myList.Controls.Add(li);
}

答案 1 :(得分:0)

我将clientidmode设置为继承,这正在改变id。保持静态已经解决了问题