RexM - во-первых, я должен заявить, что я являюсь разработчиком внешнего интерфейса, поэтому не могу даже потрогать вас за навыки и знания кодирования на C #. Однако - я реализовал ваше решение, используя объект Page, и столкнулся с проблемой. Да, извините, я в этом случае пиявка "pleaseSendMeTheCode", но, тем не менее, подумала, что важно детализировать "ошибку".
Я создаю сайт, который использует вложенный UL для отображения пунктов меню и позволяет пользователю заново сортировать меню по своему усмотрению.
Мое меню имеет следующие поля данных: pageID, parentID, pageOrder, pageTitle
Порядок страниц относится к порядку, в котором страницы появляются в узле.
Итак, мой запрос для SelectAllDataFromTable_OrderedByParentIDAscending();
был:
SELECT * FROM [pages] ORDER BY [parentID] ASC, [pageOrder] ASC
Затем я использую jsTree, чтобы сделать пункты меню перетаскиваемыми и сбрасываемыми.
Я переупорядочил несколько страниц и обнаружил ошибку:
Скажите, что моя структура выглядит так:
home
cars
usa
muscle cars
suvs
europe
colours
directions
vertical
horizontal
up
down
Если я перемещу «автомобили» (и все это дети) внутри «вниз», дети «автомобилей» больше не отображаются в меню. Это «ошибка».
Я проверил, правильно ли введены db и parentID и pageOrder в разделе "cars", я также попытался изменить свой SQL-запрос, начиная с нуля, все виды тестирования непосредственно на DB (все вышеперечисленное с отключенным jsTree, чтобы я мог видеть основной вложенный UL) - но безуспешно.
Просто интересно, как я видел другие форумы, указывающие на эту страницу для решений по превращению иерархических данных sql во вложенные UL, может быть, стоит кого-то в них заглянуть.
Поскольку весь мой сайт основан на использовании Javascript, я теперь реализовал решение Jquery.ajax (которое, очень плохо прокомментировано, находится на моем сайте здесь) для создания вложенного UL, но как Я сказал, просто помечая как потенциальную проблему.
Большое спасибо за то, что я нашел способ найти решение!