将控件引用为递增变量

时间:2016-01-19 17:13:01

标签: c# html asp.net html-table code-behind

我正在尝试用不确定数量的图像填充表格。我知道这个数字永远不会超过6个。

我所做的是:

asp.net

<table>
    <tr>
        <td><img id="igImage1" src="Image1" alt=""/></td>
        <td><img id="igImage2" src="Image2" alt=""/></td>
        <td><img id="igImage3" src="Image3" alt=""/></td>    
        <td><img id="igImage4" src="Image4" alt=""/></td>
        <td><img id="igImage5" src="Image5" alt=""/></td>
        <td><img id="igImage6" src="Image6" alt=""/></td>    
    </tr>
</table>

c#c​​ode-behind

public void ReadPhotoInfo()
{
    // Get the current logged in user's ID
    using (SqlConnection con2 = new SqlConnection(strCon1))
    using (SqlCommand cmd = new SqlCommand("SELECT uFileName, PhotoInfo FROM tmpUserPhotos WHERE UserName = '" + CurrUser + "'", con2))
    {
        con2.Open();
        using (SqlDataReader DT2 = cmd.ExecuteReader())
        {
            int X = 1;
            while (DT2.Read())
            {
                igImage[X].src = DT2["uFileName"].ToString();
                igImage[X].alt = DT2["PhotoInfo"].ToString();
                X = X + 1;
            }
        }
    }
}

这显然不起作用,但想法是循环访问DT2并将文件名和photoinfo字段读入每个适当的td。

我得到的错误是:错误92当前上下文中不存在名称'igImage'

有人可以帮我这么做吗?

1 个答案:

答案 0 :(得分:-1)

如果您将runat="server"属性添加到img标记中,则igImage[X].Src = "~/img/pic.jpg";等语句可以在后面的代码中正常工作。