Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
21.12.2015, 15:59
|
|||
|---|---|---|---|
|
|||
Repeater c подсписком |
|||
|
#18+
Добрый день. Подскажите, пожалуйста, как получить такого рода разметку на клиенте, используя контрол ASP:Repeater: Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Для привязки репитера есть объект List<Category> categories, а сам тип категорий: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Пояснения: Репитер привязываем к объекту categories, содержащий некоторый набор объектов типа Category (для примера 3 обеъкта с полями Name: "Родительская категория 1", "Родительская категория 2", "Родительская категория 3"). Объекты "Родительская категория 1" и "Родительская категория 3" имеют списки подкатегорий, а объект "Родительская категория 2" - не имеет этого списка (его поле ChildCategories содержит значение Null). Так вот, как строить подсписки <ul> в разметке айтемов репитера, если для привязываемого датаайтема существует внутренний список ChildCategories? В принципе, могу в месте для генерации <ul> могу вызывать внешний метод, который в зависимости от входного параметра, генерирует разметку и вставляет её в требуемое место. Но не очень хочется генерировать разметку в файле кода. Как бы вот декларативно в самом репитере получать доступ к внутреннему полю и выводить биндером перечень его элементов (точнее его внутренних свойств, как для родительской категории)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.12.2015, 16:14
|
|||
|---|---|---|---|
|
|||
Repeater c подсписком |
|||
|
#18+
Всё, сделал! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.12.2015, 16:15
|
|||
|---|---|---|---|
Repeater c подсписком |
|||
|
#18+
zalsily, рекурсия на байндинге репитера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.12.2015, 16:27
|
|||
|---|---|---|---|
|
|||
Repeater c подсписком |
|||
|
#18+
Ну да, можно было подписать репитер на айтемдатабайнд и там уже шаманить, но я решил внутри айтема родительского репитера назначать дочернему репитеру датасурс через внешний метод DataSource='<%# GetSubCategories(Container.DataItem). А сам метод не возвращает разметку, а возвращает ТОЛЬКО внутреннее свойство объекта ChildCategories. Отлично! Разметка описана декларативно! А на лету подвязывается ТОЛЬКО датасурс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.12.2015, 16:29
|
|||
|---|---|---|---|
Repeater c подсписком |
|||
|
#18+
zalsily, Сработает, если уровень рекурсии не превышает 1. После этого будет г-код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.12.2015, 18:50
|
|||
|---|---|---|---|
|
|||
Repeater c подсписком |
|||
|
#18+
Axeleron, так про рекурсию речи не идет! В данном случае требуется вывести только первого уровня подкатегории. Для заполнения листов объектами по-подкатегориями конечно использованы рекурсии, но для вывода конкретно в этой задаче требуется вывод только первого подуровня. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=18&tablet=1&tid=1356096]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
32ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
25ms |
get tp. blocked users: |
1ms |
| others: | 218ms |
| total: | 304ms |

| 0 / 0 |
