web-dev-qa-db-ja.com

ASP.netリピーターは、現在のインデックス、ポインター、またはカウンターを取得します

質問は本当に簡単です。 asp Repeaterコントロールの現在のポインター/カウンターにアクセスする方法はありますか。

アイテムのリストがあり、リピーター列の1つ(リピートとhtmlテーブル)を次のようにしたい...

アイテム1 |いくつかの情報

アイテム2 |いくつかの情報

... 等々

1と2がカウンターです。

77
Jan W.

リピーターにアイテム番号を表示するには、Container.ItemIndexプロパティ。

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

ラベルコントロールをRepeater's 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+"";
    }
5
TheVillageIdiot