我有一个网页,其中我使用简单的 foreach 循环并创建表结构,其中我在 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' 并在页面上呈现..