asp:Repeater 中的图像属性通过 FindControl 访问
本文关键字:FindControl 访问 属性 图像 Repeater asp | 更新日期: 2023-09-27 18:24:37
我有一个asp:repeater
,在中继器中我有一个asp:image
。现在我想通过查找控件访问图像并将图像放入其中。这是我到目前为止的代码。我试过但没有成功。我还在网格视图中的另一个地方尝试了此代码,它工作正常。
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
}
}
你必须使用(如果你用了<ItemTemplate>)
:
rptLec.Items[0].FindControl("Image_Video");
您还可以将datatable
绑定到循环之外for
repeater
。
因此,请尝试像这样更改代码:
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
}
}