帮助找到了具有相同ID'的多个控件。 FindControl要求控件具有唯一ID

时间:2011-07-01 19:01:21

标签: asp.net

我一直得到这个并且没什么是有用的可以有人解决这个错误我在运行时添加图像并且从db获取链接并且进行动态图像控制但是这个错误正在妨碍我。 找到了具有相同ID“projectimg8”的多个控件。 FindControl要求控件具有唯一ID。

   string get = ListBox1.SelectedItem.Text;
    DataSet ds = con.getprojectgallery(get);
    if (ds!=null)
    {
        int count = ds.Tables[0].Rows.Count;
        for (int i = 0; i < count; i++)
        {
            Image img = new Image();
            img.ID = "projectimg" + count.ToString();
            img.ImageUrl = ds.Tables[0].Rows[0][0].ToString();
            img.Height = 80;
            img.Width = 80;
            img.ToolTip = ds.Tables[0].Rows[0][1].ToString();
            pnlgallery.Controls.Add(img);
            pnlgallery.Controls.Add(new LiteralControl("<br />"));
        }

2 个答案:

答案 0 :(得分:3)

将其更改为:

img.ID = "projectimg" + i.ToString();

您需要增加的计数,而不是计数变量本身。

答案 1 :(得分:0)

确保在生成图片时,他们都拥有唯一的ID。

你向我们展示一些代码会更容易..

修改

感谢您的代码。

在您设置ID的行中,您每次都使用相同的号码,因为count表示行数。

您可以使用Matt的代码,或者:

img.ID = String.Format("projectimg{0}", i);