77 votes

ASP.net Répéteur obtenir de l'index actuel, pointeur, ou d'un comptoir

la question est très simple. Est-il un moyen pour accéder au pointeur courant/compteur pour un asp contrôle Repeater.

J'ai une liste avec les éléments et je voudrais l'une des répéteurs colonnes (il se répète et tableau html) pour être quelque chose comme ...

Point 1 | quelques infos

Article 2 | quelques infos

... et ainsi de suite

1 et 2 étant le comptoir.

toute aide?

157voto

Binoj Antony Points 7519

Pour afficher le numéro de l'article sur le répéteur, vous pouvez utiliser l' Container.ItemIndex de la propriété.

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

5voto

TheVillageIdiot Points 22158

Ajoutez un contrôle label à votre Répéteur de l'ItemTemplate. Poignée OnItemCreated événement.

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 Derrière:

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X