2009-07-01 3 views
68

die Frage ist wirklich einfach. Gibt es eine Möglichkeit, auf den aktuellen Zeiger/Zähler für ein ASP-Repeater-Steuerelement zuzugreifen.ASP.net Repeater erhalten aktuellen Index, Zeiger oder Zähler

Ich habe eine Liste mit Artikeln und ich würde eines der Repeater Spalten wie (es wiederholt und HTML-Tabelle) so etwas wie ...

Artikel 1 sein | einige Informationen

Artikel 2 | einige Informationen

... und so weiter

1 und 2 die Zähler zu sein.

+0

Mögliche Duplikat [ASP.NET Repeater zweiten Zeile markieren, ohne vollständige geblasen ] (http://stackoverflow.com/questions/847806/asp-net-repeater-alternate-row-Hervorhebung-ohne-voll-blown-alternatingitemt) –

Antwort

137

Um die Artikelnummer auf dem Repeater anzuzeigen, können Sie die Container.ItemIndex Eigenschaft verwenden.

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

yep, das ist der Trick. Danke für die Hilfe, du musst wissen, wo du hinschauen sollst :) –

+0

Klassischer Fall der dort gewesen ist :) –

+0

Danke für diesen nützlichen Tipp. :) –

5

ein Label-Steuerelement zu Ihrem Repeater ItemTemplate hinzufügen. Handle OnItemCreated-Ereignis.

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> 

-Code Behind:

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, weil ich nach etwas wie Item.ItemIndex in CodeBehind suchte. Ich habe nach Item.Index gesucht aber keine Freude ... – Resource