Есть ли аналогичный способ AlternateItemTemplate для этого

#c# #asp.net #vb.net #webforms #repeater

#c# #asp.net #vb.net #веб-формы #повторитель

Вопрос:

Я знаю, что с помощью повторителя я могу использовать AlternatingItemTemplate и SeparatorTemplate использовать различные чередующиеся элементы или для последнего согласованный стиль / атрибут между элементами.

Но в моей последней задаче мне требуется отдельный шаблон, но только после каждых 3 элементов!

Я знаю, что могу сделать это в ItemDataBound, а runningItemCount затем использовать cheeky runningItemCount % 3 == 0 для размещения этого.

Я также знаю, что могу сделать это, используя повторитель внутри повторителя. Просто упоминая, что это грязно ….

Честно говоря, я хочу поддерживать чистоту, и если это встроено, то это то, что я хочу привыкнуть использовать, поэтому, если кто-нибудь знает, как сделать это приятным способом (без обходных путей, пожалуйста), тогда, пожалуйста, заинтригуйте меня.

Комментарии:

1. неправильно прочитал вопрос, поэтому я проголосовал за удаление моего ответа. Извините за это.

Ответ №1:

Вы делаете это правильно, но вы можете использовать Container.ItemIndex вместо runningItemCount для отслеживания индекса элемента.

Комментарии:

1. 1 Я согласен. Я думаю Container.ItemIndex % 3 == 0 , что маршрут, вероятно, является самым чистым решением.

Ответ №2:

Рассмотрите возможность использования элемента управления ListView. Он поддерживает шаблоны GroupTemplate и GroupSeparatorTemplate.

Ответ №3:

Из рассмотрения этой проблемы в различных областях вывод в ореховой скорлупе: «Нет, нет».

Мне пришлось использовать метод, о котором я упоминал, поскольку, к сожалению, для этой функции нет конкретной встроенной функции.