2009-07-01 51 views
68

這個問題其實很簡單。 有沒有辦法訪問asp Repeater控件的當前指針/計數器。ASP.net直放站獲取當前索引,指針或計數器

我有一個項目的清單,我想中繼列(它重複和HTML表)是這樣的一個...

項目1 |一些信息

第2項|一些信息

...等等

1和2是在櫃檯上。

+0

[ASP.NET中繼器備用行突出顯示,而不完全成熟](http://stackoverflow.com/questions的可能的複製/ 847806/asp-net-repeater-alternate-row-highlighting-without-full-blown-alternatingitemt) – 2016-03-01 09:25:30

回答

137

要在中繼器上顯示項目編號,您可以使用Container.ItemIndex屬性。

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

是的,這就是訣竅。 thx的幫助,你必須知道去哪裏:) – 2009-07-01 07:35:07

+0

經典案例一直在那裏:) – 2009-07-02 15:22:02

5

將Label控件添加到您的直放站的ItemTemplate。處理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> 

代碼背後:

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