ASP.NET Repeater получает текущий индекс, указатель или счетчик
вопрос действительно прост.
Есть ли способ получить доступ к текущему указателю/счетчику для элемента управления репитером asp.
У меня есть список с элементами, и мне бы хотелось, чтобы один из столбцов повторителей (он повторяется и таблица html) был чем-то вроде...
Пункт 1 | некоторая информация
Пункт 2 | некоторая информация
... и т.д.
1 и 2 являются счетчиком.
Ответы
Ответ 1
Чтобы отобразить номер позиции на повторителе, вы можете использовать свойство Container.ItemIndex
.
<asp:repeater id="rptRepeater" runat="server">
<itemtemplate>
Item <%# Container.ItemIndex + 1 %>| <%# Eval("Column1") %>
</itemtemplate>
<separatortemplate>
<br />
</separatortemplate>
</asp:repeater>
Ответ 2
Добавьте элемент управления меткой в свой ретранслятор 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+"";
}