ASP меню сводит меня с ума - PullRequest
1 голос
/ 05 декабря 2009

Я пытаюсь создать меню, используя ASP (я никогда раньше не использовал ASP, я - человек из PHP), используя значения, хранящиеся в базе данных.

В основном HTML-макет, который я хочу, таков:

<ul>
 <li>
  <ul class="sub-menu">
   <li class="sub-menu-li">Test</li>
  </ul>
 </li>
</ul>

Мне нужно зацикливаться на элементах корневого меню rs ("AD_Level"), который равен 0 для корневых объектов, затем внутри этого цикла перемещаться вокруг всего, что имеет такой же родительский идентификатор, например, если текущая запись AD_Level = 0 и AD_Parent = 5, затем зациклите все элементы с AD_Parent 5 и AD_Level! = 0 и вставьте значения в html и т. д. и т. д.

Пожалуйста, помогите! Я борюсь с новым языком и не могу найти способ сделать это без потери здравомыслия

Редактировать (Извлечено из комментария OP)

while not rsAdmin.eof
  sPar = rsAdmin("ad_parent"
  if rsAdmin("AD_Level")=0 then
    while not rsAdmin2.eof
      if rsAdmin2("AD_Level")<>0 and rsAdmin2("ad_parent")=sPar and rsAdmin2("AD_Sec_Level")=>2 then
        response.write rsAdmin("AD_Menu")
      end if
      rsAdmin2.movenext
    wend
  end if 
  '' # if not rsAdmin.eof then sPar=rsAdmin("AD_parent") rsAdmin.movenext
wend

это мой код

1 Ответ

0 голосов
/ 09 декабря 2009

Конечно, это очевидный случай использования рекурсии, просто приведенный ниже псевдокод, поскольку я не очень хорошо понимаю структуру вашего меню по вашему коду, поэтому я не пытался вставить его непосредственно в код ASP:

For Each MenuItem at with Level=0
    Display the Menu Text (if applicable)
    Call GenerateSubMenu(MenuItem.ID)
Next

Function GenerateSubMenu(ID)
    For Each MenuItem with Parent=ID
        Display the Menu Text (if applicable)
        Call GenerateSubMenu(MenuItem.ID)
    Next
End Function
...