递归取子菜单
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); } } }
作者:沐雪
文章均系作者原创或翻译,如有错误不妥之处,欢迎各位批评指正。本文版权归作者和博客园共有,如需转载恳请注明。
如果您觉得阅读这篇博客让你有所收获,请点击右下方【推荐】
为之网-热爱软件编程 http://www.weizhi.cc/