Ich benutze Repeater-Steuerelement und darin habe ich ein Image-Tag mit ID als 'imgGallery'. aber im Code hinter der Datei kann ich nicht darauf zugreifen.Bild-ID wird nicht am Ende in C angezeigt #
aspx
<div class="col-md-4 col-sm-12">
<div class="col-md-2">
<asp:Repeater ID="rptImage" runat="server">
<ItemTemplate>
<asp:Image ID="imgGallery" runat="server" />
</ItemTemplate>
</asp:Repeater>
</div>
</div>
aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
using (DBDataContext dt = new DBDataContext())
{
var frm = from i in dt.GalleryMasters
where i.CategoryId == 1
select i;
foreach (var item in frm)
{
Image img = (Image)rptImage.FindControl("imgGallery");
img.ImageUrl = item.Image;
((HtmlControl)(FindControl("ifrm"))).Attributes["src"] = item.Video;
}
}
}
Wenn ich Findcontrol verwenden dann ist var null.
imgGallery ist auf diese Weise kein Teil des Repeaters. Es ist ein Teil eines Artikels im Repeater –
immer noch. Es greift nirgends zu. –
Ich denke, Sie müssen Databinding in asp.net nachschlagen und vor allem die ItemDataBound-Ereignis von Repeater. Binden Sie eine Datenquelle an Ihren Repeater, dann, in seinem Fall, tun Sie das FindControl –