Я создаю меню для моего веб-сайта. У него иерархическая структура.
Вот что я хочу:
- прадед
- Grandparent
- Родитель
- Sibling1
- Sibling2
- Sibling3
- Self
HTML:
<ul>
<li><a href="/389">Great Grandparent</a>
<ul>
<li><a href="/456">Grandparent</a>
<ul>
<li><a href="/389">Parent</a>
<ul>
<li><a href="/986">Sibling1</a></li>
<li><a href="/983">Sibling2</a></li>
<li><a href="/418">Sibling3</a></li>
<li><strong>Self</strong>
<ul>
<li><a href="/310">Child1</a></li>
<li><a href="/953">Child2</a></li>
<li><a href="/927">Child3</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
Вот код с моей страницы ASPX. Это работает:
<% For Each Ancestor As Node In ViewData("Ancestors")%>
<ul>
<li><%=Html.RouteLink(Html.Encode(Ancestor.Name), "IdOnly", New With {.id = Ancestor.Id})%>
<% Next%>
<ul>
<% For Each Sibling As Node In ViewData("Siblings")%>
<li><%=Html.RouteLink(Html.Encode(Sibling.Name), "IdOnly", New With {.id = Sibling.Id})%></li>
<% Next%>
<li><strong><%=Html.Encode(Model.Name)%></strong>
<% If Model.Children.Count > 0 Then%>
<ul>
<% For Each Child As Node In ViewData("Children")%>
<li><%=Html.RouteLink(Html.Encode(Child.Name), "IdOnly", New With {.id = Child.Id})%></li>
<% Next%>
</ul>
<% End If%>
</li>
</ul>
<% For Each Ancestor As Node In ViewData("Ancestors")%>
</li>
</ul>
<% Next%>
Эта страница ASPX кажется довольно трудной для чтения. Как я могу это почистить?