Here is a perplexing issue I have not seen a good answer to on StackOverflow, although there a couple stabs at it... I have a situation where I'd like to do this:
<asp:Repeater ID="MyRepeater" runat="server" OnItemDataBound="MyRepeater_ItemDataBound">
<ItemTemplate>
<li id="id?">
All the other stuff
</li>
</ItemTemplate>
</asp:Repeater>
The question... is how do I get the ID of my <li> elements to be id1, id2, id3, etc., based on the ItemIndex they are bound to? So far the most... er..."elegant" solution I've come up with is to replace the <li> with an asp:Literal and dump the <li...>' text. But that just feels... so wrong. And no, I'm not using ASP.NET 4.0, which I've read will provide this functionality.
A Repeater has five inline templates to format it: <Itemtemplate> - It defines how the each item is rendered from the Data Source collection.
HeaderTemplate: This template is used for elements that you want to render once before your ItemTemplate section.
Like this:
<asp:Repeater ID="MyRepeater" runat="server" OnItemDataBound="MyRepeater_ItemDataBound">
<ItemTemplate>
<li id="li<%# ((RepeaterItem)Container).ItemIndex + 1%>">
All the other stuff
</li>
</ItemTemplate>
</asp:Repeater>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With