JK36
JK36

Reputation: 853

Databind and trying to get index in Listview

Need a hand trying to get my rotating banner working properly on my website. I'm using the jquery cycle plugin which manages the rotation. Within my CMS I've got something called a smartform, which contains upto 6 pictures. The code below (something which I wrote by following a tutorial for the banner) works really well. However I would like to somehow get the index of the image and place it within the alt tags. What I am trying to achieve is the alt tag to say "Banner_(ImageIndexNumber)".

Hopefully someone can help, thanks all

C# Codebehind

private void BannerFill(int contentId)
{
    try
    {
        uxBannerContentBlock.DefaultContentID = contentId;
        uxBannerContentBlock.Fill();
        string xml = uxBannerContentBlock.EkItem.Html;

        SmartForm.RotatingBanner.BannerImage bannerGroup = (SmartForm.RotatingBanner.BannerImage)
        Ektron.Cms.EkXml.Deserialize(typeof(SmartForm.RotatingBanner.BannerImage), xml);

        List<BannerSlide> slides = GetBannerSlides(bannerGroup.Slides);

        //Databind//

        uxBannerRepeater.DataSource = slides;
        uxBannerRepeater.DataBind();
    }
    catch { }
}

protected List<BannerSlide>
    GetBannerSlides(SmartForm.RotatingBanner.BannerImageSlides[] bannerGroupSlides)
{
    List<BannerSlide> bSlides = new List<BannerSlide>();

    foreach (SmartForm.RotatingBanner.BannerImageSlides bgSlide in bannerGroupSlides)
    {

        bSlides.Add(new BannerSlide(bgSlide.Image.img.src));
    }

    return bSlides;
}


public class BannerSlide
{
    //properties//
    public string SlideImage { get; set; }

    //constructor//
    public BannerSlide(string slideImage)
    {
        SlideImage = slideImage;
    }
}

Front end

<div class="slideshow">
<CMS:ContentBlock ID="uxBannerContentBlock" runat="server" Visible="false" />
    <asp:Repeater runat="server" ID="uxBannerRepeater">
        <ItemTemplate>
            <img src="<%# DataBinder.Eval( Container.DataItem,"SlideImage")  %>" alt="Banner_<%# Container.ItemIndex %>" />
        </ItemTemplate>
    </asp:Repeater>

Upvotes: 1

Views: 1424

Answers (1)

Amiram Korach
Amiram Korach

Reputation: 13286

alt='<%# "Banner_" + Container.ItemIndex %>'

Upvotes: 3

Related Questions