ASP.NET – Preenchendo o controle Repeater com um Array de String

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!

Comentários

comentários