O controle Repeater tem um único defeito, que é também sua maior virtude. Peca pela simplicidade.
Entre algumas coisas que precisei fazer recentemente, uma era colocar os itens de um Array em uma página ASP.NET. Querendo fugir do Response.Write e da concatenação de itens dentro de um laço de repetição, decidi usar o bom e velho Repeater. O problema é que, após definir o DataSource do dito como sendo o Array de Strings, não há como informar o “Value” ou “Text” de um Array para o Eval() ou Bind(). Solução: Basta mencionar o Container.DataItem no código aspx que o Repeater se encarrega de efetuar o “Bind” com o Array:
1 2 3 4 5 6 7 8 9 10 11 12 13 | <asp:Repeater ID="RepeaterArray" runat="server"> <HeaderTemplate> <ul> </HeaderTemplate> <ItemTemplate> <li> <%# Container.DataItem %> </li> </ItemTemplate> <FooterTemplate> </ul> </FooterTemplate> </asp:Repeater> |
1 2 3 4 5 6 7 8 9 | string[] meuArray = new string[] { "item 1", "item 2", "item 3", "item 4", "item 5" }; RepeaterArray.DataSource = meuArray; RepeaterArray.DataBind(); |
Mais simples impossível. Bom proveito!