asp中的Image属性:通过FindControl访问的Repeater

时间:2014-09-25 04:52:17

标签: c# asp.net

我有一个asp:repeater,在转发器中我有一个asp:image。现在我想通过查找控件访问图像并将图像放入其中。到目前为止这是我的代码。我试过但没有成功。 我也在gridview的另一个地方试过这个代码,它工作得很好。

    clsFileUpload fileUpload = new clsFileUpload();
    dataTable = fileUpload.GetDownloadsFiles(ClsSystemUsers.ProgramId, ClsSystemUsers.SemesterN, 3);
    for (int i = 0; i < dataTable.Rows.Count; i++)
    {
        //rptLec is my repeater id...
        rptLec.DataSource = dataTable;
        rptLec.DataBind();
        string label = dt.Rows[i]["Url"].ToString();
        Image = (Image)rptLec.FindControl("Image_Video");

        if (label != null)
        {
            string turl = label;
            GetYouTubeImage(turl);//function for getting image from youtube
        }
    } 

1 个答案:

答案 0 :(得分:0)

您必须使用(如果您使用<ItemTemplate>)

rptLec.Items[0].FindControl("Image_Video");

此外,您可以将datatable绑定到repeater循环之外的for

因此,请尝试更改您的代码:

clsFileUpload fileUpload = new clsFileUpload();
dataTable = fileUpload.GetDownloadsFiles(ClsSystemUsers.ProgramId, ClsSystemUsers.SemesterN, 3);
//rptLec is my repeater id...
rptLec.DataSource = dataTable;
rptLec.DataBind();

for (int i = 0; i < dataTable.Rows.Count; i++)
{
        string label = dt.Rows[i]["Url"].ToString();
        Image = (Image)rptLec.Items[0].FindControl("Image_Video");      
        if (label != null)
        {
            string turl = label;
            GetYouTubeImage(turl);//function for getting image from youtube
        }
}