递归取子菜单

简介: 1 主方法: if (perlist != null && perlist.Count > 0) { foreach(AuthPermission per in perlist) { if (per.

1 主方法:

 if (perlist != null && perlist.Count > 0)
            {
               
                foreach(AuthPermission per in perlist)
                {
                    if (per.parentId == 0)
                    {
                        sbStr.Append( per.mName + ",sun(");
                        getSunPermission(perlist, per.menuId, sbStr);
                        sbStr.Append(")");
                    }
                }
            }

2 递归

 /// <summary>
        /// 递归获取子菜单
        /// </summary>
        /// <param name="perList"></param>
        /// <param name="thisMenuId"></param>
        /// <returns></returns>
        public void getSunPermission(IList<AuthPermission> perList, int thisMenuId, StringBuilder menuStr)
        {
           
            IList<AuthPermission> sunlist = (from per in perList where per.parentId == thisMenuId select per).Reverse<AuthPermission>().ToArray();

            if (sunlist == null || sunlist.Count <= 0)
            {
                return ;
            }
            else {
                
                foreach (AuthPermission per in sunlist)
                {
                    menuStr.Append(""+per.mName+",");
                    getSunPermission(perList, per.menuId, menuStr);
                }
            }

        }

 

相关文章
|
3月前
EasyUI datagrid 从左至右递归合并表格
EasyUI datagrid 从左至右递归合并表格
31 2
|
3月前
使用递归的方式删除菜单
使用递归的方式删除菜单
20 1
|
3月前
|
JavaScript
什么是递归树状菜单
什么是递归树状菜单
|
9月前
|
JSON JavaScript 前端开发
JS实现树形菜单递归函数(折叠菜单)
JS实现树形菜单递归函数(折叠菜单)
46 0
递归实现无限极菜单
递归实现无限极菜单
84 0
|
C#
用C#代码实现类似QQ窗体的“上、左、右”停靠功能
阅读对象:入门级,老鸟漂过 大家都知道QQ有一个自动停靠功能,即“上、左、右”,当你把窗体拖到屏幕边缘,然后移开鼠标它会自动缩放,然后只显示一小小点出来,我们仔细观察会发现其实它只露3像素左右的边缘,当你鼠标移上去它又会伸出来,介于普通入门级学者要求艾伟就在这里给需要的朋友们分享分享我是怎么实现的...
1025 0
关于递归调用,实现树形菜单的样式
一:需求   现有以需求就是把某一个帖子的全部评论展示出来。 二:分析   关于对帖子的评论分为主评论和子评论,主评论就是对帖子的直接评论,子评论就是对评论的评论。 三:思路   先获取某一个帖子的全部主评论,递归判断是否有子评论,获取子评论。
1251 0
|
小程序
小程序实现 Tab 标签栏
首先外层使用 View 包裹。我们可以把 View 当作 HTML 中的 div 标签使用来理解就行 其次,实现多标签我们首先想到什么,数组。在小程序中数组是怎么嵌套在标签中的? wx:for="{{navTab}}"。
1286 0