带有子类别的循环类别

Posted

技术标签:

【中文标题】带有子类别的循环类别【英文标题】:Cycle categories with subcategories 【发布时间】:2010-07-05 16:11:14 【问题描述】:

1)我在 db 上有 2 个选项卡类别和子类别,关系为 1 到多个(我使用实体框架)

2) 我必须像这样创建一个垂直菜单

<ul>
   <li>category 1
    <ul>
       <li>subcategory 1</li>
       <li>subcategory 2</li>      
       <li>subcategory 3</li>
    </ul>
   </li>
</ul>

我认为我的问题出在我的函数中

 Function List_category_subcategory() As List(Of WHAT HERE???????)

        Using db As New DBTestEntities

            Dim q = From cat In db.categories Join subcat In db.subcategories On cat.CategoryID Equals subcat.CategoryID _
            Select New With cat.CategoryName, subcat.SubCategoryName

        List_category_subcategory = WHAT HERE???????

        End Using

    End Function

因为我不知道必须返回什么函数(可能是列表集合)

在我看来必须循环一切

类似的东西

<ul> 
<%  For Each cat In ??????%>
 <li><a href="#"><%=html.Encode(cat.CategoryName)%></a>
            <ul>
            <% For Each subcat In ???????%>          
            <li><%=Html.Encode(subcat.SubCategoryName)%></li>
            <% Next%>
            </ul>
</li>
<% Next%>
</ul>

【问题讨论】:

【参考方案1】:

SubCategory 不应该是category 的属性吗(这似乎更自然,但我在这里可能错了)?此外,您在嵌套循环 (&lt;li&lt;%=) 中有一个格式错误的 li 标记:

<ul id="menu-1" class="menu"> 
    <% For Each category In Model.Category %>
    <li>
        <a href="#"><%= Html.Encode(category.CategoryName) %></a>
        <ul>
        <% For Each subcategory In category.SubCategory %>          
            <li>
                <%= Html.Encode(subcategory.SubCategoryName) %>
            </li>
        <% Next %>
        </ul>
    </li>
    <% Next %>
</ul>

【讨论】:

【参考方案2】:

缺少关闭>内里?

【讨论】:

以上是关于带有子类别的循环类别的主要内容,如果未能解决你的问题,请参考以下文章

获取总类别树(所有类别及其子类别的列表)与根据需要获取每个分支?

选择一个包含子类别的类别并将它们放入 DataGridView 中,没有类别重复

查询以获取每个类别 + 子类别的相同行数

从具有类别和子类别的表中进行选择的 SQL 查询

获取类别和子类别的所有产品(rails,awesome_nested_set)

在 Django 模型中存储项目的类别和子类别的最佳方法