#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:
Из рассмотрения этой проблемы в различных областях вывод в ореховой скорлупе: «Нет, нет».
Мне пришлось использовать метод, о котором я упоминал, поскольку, к сожалению, для этой функции нет конкретной встроенной функции.