dhl:使用递归获取N级子目录列表(附数据库结构)

附数据库结构:
2009082616041320.jpg
 
2009082616014437.jpg
代码:
  ///   <summary>
        
///  递归获取子目录列表
        
///   </summary>
        
///   <param name="SortList"> 用于存储全部新的列表。 </param>
        
///   <param name="parentId"> 上一级的id </param>
        
///   <param name="Counter"> 计数器,用于前台排版 </param>
        
///   <returns></returns>
         private  List < CMS_Catalog >  GetChildSort(List < CMS_Catalog >  SortList,  int  parentId,  int  Counter)
        {
            var v 
=  from l  in  content.CMS_Catalog  where  l.ParentId  ==  parentId  &&  l.AppId == 1  select l;
            List
< CMS_Catalog >  _list  =  v.ToList();

            
if  (_list.Count  >   0 )
            {
                Counter
++ ;
                
for  ( int  i  =   0 ; i  <  _list.Count; i ++ )
                {
                    
string  temp  =   string .Empty;
                    
for  ( int  m  =   0 ; m  <  Counter; m ++ )
                    {
                        temp 
+=   " &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; " ;
                    }
                    _list[i].Extended1 
=  temp;  // 存储列表的前台样式
                    SortList.Add(_list[i]);
                    GetChildSort(SortList, Convert.ToInt32(_list[i].ID), Counter);
                }
            }
            
return  SortList;
        }

 

调用 :

 

///   <summary>
        
///  目录管理
        
///   </summary>
        
///   <returns></returns>
         public  ActionResult CMSSortManage()
        {
            List
< CMS_Catalog >  SortList  =   new  List < CMS_Catalog > ();
            ViewData[
" SortList " =  GetChildSort(SortList, 0 , 0 );
            
return  View(); 
        }
注意点: 循环不能用foreach(foreach是取只读的,在取的时候数据不能变(包括修改,删除,添加等)。)
否则会报错误: 集合已修改可能无法执行枚举操作(进来看)
前台页面:
    <%
       List
< PingCoCMS.Model.CMS_Catalog >  SortList  =  ViewData[ " SortList " as  List < PingCoCMS.Model.CMS_Catalog > ;
       
foreach  (var item  in  SortList)
       {
           Response.Write(item.Extended1
+ " - " );
           Response.Write(item.Name);
           Response.Write(
" <br /> " );
       }
       
%>
最终样式:
      -家用电器
      -大 家 电
            -洗衣机
            -家庭音响
            -空调
            -洗衣机
      -生活电器
            -吸尘器
            -电熨斗
            -取暖电器
            -加湿器
            -电话机
      -厨房电器
            -电磁炉

转载于:https://www.cnblogs.com/dudu837/archive/2009/08/26/1554401.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值