在MVC3中实现分类的列表

发布时间:2013-10-28 09:10:23来源:阅读(822)

    有一个分类:
    ID, Name, ParentID
    1 分类一 0
    2 分类二 0
    3 分类三 1
    4 分类四 1

    要实现功能:


          
    • 分类一
              

                    
      • 分类三

      •             
      • 分类四

      •         

              
              
        • 分类二



          • 简单的方案(知道几级):

              @{

                      var items = getitems();//此处获取所有数据

                      foreach(var item in items.Where(o=>o.parentID==0))

                      {

                          

            • @item.Name

                          @{

                                  var children = items.Where(o=>o.parentID==item.ID);

                                  if(children.Cunt() > 0)

                                  {

                                      

                                    @{

                                       foreach(var child in children)

                                            {

                                                

              • @child.Name
              •                             }

                                    }

                                     

                              }

                          }

                  

            •     }

              }

            假如级别不确定,那么就使用递归方案:

            @model IEnumerable

              @{

              foreach(var item in Model)

              {

            • @item.Name

              @{

              var children = item.GetChildren();

              if(children.Count()>0)

              {

              @Html.Partial("list", children)

              }

              }

            • }

              }

          关键字