2009-07-01 10 views
68

la domanda è davvero semplice. C'è un modo per accedere al puntatore/contatore corrente per un controllo asp Repeater.Il ripetitore ASP.net ottiene l'indice, il puntatore o il contatore corrente

Ho un elenco con gli oggetti e vorrei una delle colonne ripetitori (si ripete e la tabella HTML) per essere qualcosa di simile ...

Articolo 1 | alcune informazioni

Elemento 2 | alcune informazioni

... e così via

1 e 2 essendo il contatore.

+0

Eventuali duplicati di [ASP.NET ripetitore fila si alternano mettendo in evidenza, senza piena regola ] (http://stackoverflow.com/questions/847806/asp-net-repeater-alternate-row-highlighting-without-full-blown-alternatingitemt) –

risposta

137

Per visualizzare il numero dell'articolo sul ripetitore è possibile utilizzare la proprietà Container.ItemIndex.

<asp:repeater id="rptRepeater" runat="server"> 
    <itemtemplate> 
     Item <%# Container.ItemIndex + 1 %>| <%# Eval("Column1") %> 
    </itemtemplate> 
    <separatortemplate> 
     <br /> 
    </separatortemplate> 
</asp:repeater> 
+0

sì, questo è il trucco. grazie per l'aiuto, devi sapere dove cercare :) –

+0

Caso classico di quello che è stato fatto :) –

+0

Grazie per questo suggerimento utile. :) –

5

Aggiungere un controllo Label al tuo del ripetitore ItemTemplate. Gestire l'evento OnItemCreated.

ASPX

<asp:Repeater ID="rptr" runat="server" OnItemCreated="RepeaterItemCreated"> 
    <ItemTemplate> 
     <div id="width:50%;height:30px;background:#0f0a0f;"> 
      <asp:Label ID="lblSr" runat="server" 
       style="width:30%;float:left;text-align:right;text-indent:-2px;" /> 
      <span 
       style="width:65%;float:right;text-align:left;text-indent:-2px;" > 
      <%# Eval("Item") %> 
      </span> 
     </div> 
    </ItemTemplate> 
</asp:Repeater> 

Codice Dietro:

protected void RepeaterItemCreated(object sender, RepeaterItemEventArgs e) 
    { 
     Label l = e.Item.FindControl("lblSr") as Label; 
     if (l != null) 
      l.Text = e.Item.ItemIndex + 1+""; 
    } 
+0

+1 perché cercavo qualcosa come Item.ItemIndex in CodeBehind. Ho cercato Item.Index ma nessuna gioia ... – Resource

Problemi correlati