zoukankan      html  css  js  c++  java
  • dhl:使用递归获取N级子目录列表(附数据库结构)

    附数据库结构:
     
    代码:
     /// <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 />");
           }
           
    %>
    最终样式:
          -家用电器
          -大 家 电
                -洗衣机
                -家庭音响
                -空调
                -洗衣机
          -生活电器
                -吸尘器
                -电熨斗
                -取暖电器
                -加湿器
                -电话机
          -厨房电器
                -电磁炉
  • 相关阅读:
    V2EX 上收藏Top200
    在heroku上部署gost代理服务端
    nano编辑器使用教程
    Amazon EC2免费VPS防止超额被扣钱三大方法:流量 硬盘读写 运行时长
    Go语言开发环境配置
    HTML5 and CSS3 开发
    使用 Eclipse PhoneGap 构建 Android 应用程序入门
    脚本之家
    CSS网页布局全精通
    使用面向 iOS 的本机插件扩展 PhoneGap
  • 原文地址:https://www.cnblogs.com/dudu837/p/1554401.html
Copyright © 2011-2022 走看看