我在生成页面时在服务器端的面板中添加了一些div,并为每个添加了一个ID:
HtmlGenericControl divContainerInside = new HtmlGenericControl("div");
divContainerInside.ID = "inside_" + m_oIDCategoria + "_" + numero;
比回发(重新创建它们之后),我循环它们:
foreach (HtmlGenericControl divInside in myPanel.Controls.OfType<HtmlGenericControl>())
{
Response.Write(divInside.ID);
}
一切都好!但是,如果我在生成它时删除divContainerInside.ID
,我会得到一个NullException来循环它们。为什么呢?
答案 0 :(得分:2)
当您尝试读取尚未设置的ID时,我猜您会收到NullException。
如果您更改此代码,您将获得以下值:
foreach (HtmlGenericControl divInside in myPanel.Controls.OfType<HtmlGenericControl>())
{
Response.Write(divInside.ClientID);
}
PS:我不知道你是否有这行代码:
myPanel.Controls.Add(divContainerInside);
答案 1 :(得分:-1)
您无法使用response.Write向页面添加控件,您需要将其添加到Pages或其他控件集合中,如下所示:
Page.Controls.Add(divInside);