0

ページが生成されたときに、サーバー側のパネルにいくつかの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が発生します。なんで?

4

2 に答える 2

2

設定していないIDを読み取ろうとすると、NullExceptionが発生すると思います。

このようにコードを変更すると、次の値が得られます。

foreach (HtmlGenericControl divInside in myPanel.Controls.OfType<HtmlGenericControl>())
{
    Response.Write(divInside.ClientID);
}

PS: このコード行があるかどうかはわかりません:

myPanel.Controls.Add(divContainerInside);

Web コントロールについて詳しく知りたい場合は、この記事このをお読みください。

于 2012-07-10T13:39:40.013 に答える
-1

response.Write を使用してページにコントロールを追加することはできません。ページに追加するか、以下のような別のコントロール コントロール コレクションに追加する必要があります。

Page.Controls.Add(divInside);
于 2012-07-10T13:23:27.137 に答える