私は単純な foreach ループを使用してテーブル構造を作成している Web ページを持っています。ここで、td で画像を表示しています。要件は、ページの読み込み時に分離コードから td で作成された画像にアクセスすることです。
しかし、私はコントロールを見つけることができません.runat = 'server'としてコントロールを作成し、IDも設定しました。
foreach (DataRow r in dtLogic.TopStories(Convert.ToInt32(ConfigurationManager.AppSettings["TopArticles"]), Convert.ToInt32(ConfigurationManager.AppSettings["PortalId"])).Rows)
{
i++;
str.Append("<table cellpadding='0' cellspacing='0' class='newsItem'>");
str.Append("<tr>");
str.Append("<td><img runat='server' id='img"+i+"' class='thumb' src='" + GetAppSettingValue("MainSiteUrl") + "" + r["image"].ToString() + "' width='128' height='73'></td>");
str.Append("<td><p class='newsTitle'><a href='" + r["URL"].ToString() + "'>" + r["title"].ToString() + "</a></p></td>");
str.Append("<td><img class='arrow' src='/images/arrow.png'></td>");
str.Append("</tr>");
str.Append("</table>");
}
以下のようなコードビハインドからこの画像にアクセスすると..
HtmlImage img = (HtmlImage)this.FindControl("img1");
img オブジェクトの NullReference を取得します。
runat = 'server'である画像を取得せず、ページにレンダリングする理由を誰か教えてください..