tags:

views:

40

answers:

1

How do I render a Media Library item image in a sublayout with Sitecore controls? With a normal content Item that has an "Image" field it's a piece of cake... just use the sc:Image or FieldRenderer control. But I have something like this:

<asp:Repeater ID="rptImages" runat="server">
  <ItemTemplate>
    <sc:FieldRenderer  ????>
  </ItemTemplate>
</asp:Repater>

And the code behind:

rptImages.DataSource = Sitecore.Context.Database.SelectItems("/sitecore/Media Library/Images/Some Image Folder/*")
rptImages.DataBind();

So... what goes in the ItemTemplate? I'm OK with using the ItemDataBound event to do some manual assignment, but it's unclear to me how to go about that. I feel like I'm missing something really simple here.

+2  A: 

OK... I had trouble answering this originally because I was thinking about it from the wrong angle. The key is NOT using Sitecore controls in this scenario. What you really need to do is just get the URL from the Sitecore API and use standard HTML controls:

<asp:Repeater ID="rptImages" runat="server" OnItemCommand="rptImages_ItemCommand">
    <ItemTemplate>
        <img src='<%# Sitecore.StringUtil.EnsurePrefix('/', Sitecore.Resources.Media.MediaManager.GetMediaUrl((Sitecore.Data.Items.Item)Container.DataItem)) %>' />
    </ItemTemplate>
</asp:Repeater>
Bryan