ASP.NET:递归操作时报错:无法创建…

今天在尝试使用递归法动态添加节点来实现树形结构动态生成的时候报错,如下:
ASP.NET:递归操作时报错:无法创建新的堆栈防护页面[解决]
第一印象就认为是溢出,可能是null的问题,但找来找去就是找不到问题所在,再想想既然是堆栈方面的,自己用的又是递归,就把问题指向了递归法,这个问题相信很多人都会忽视(或者说不易察觉):数据库字段的选择上可能会陷入逻辑死循环
通过设置递归方法处断点,可以看到所传参数一直是同一个,那么这个问题就很好解决了,直接查看取值和参数值,如下:
ASP.NET:递归操作时报错:无法创建新的堆栈防护页面[解决]
下面是数据库表内容:
NodeId DisplayName NodeURL DisplayOrder ParentNodeId
101 人事管理 NULL 1 0
102 日程管理 NULL 2 0
101001 机构信息 NULL 1 101
101002 部门信息 NULL 2 101
102001 我的日程 NULL 3 102
102002 我的便签 NULL 4 102
一开始错误的把节点ID搞错了,一直查找的是parentNodeId,这会陷入死循环,参数一直是0,直到报错为止,更改为NodeId后一切正常,效果如下:
ASP.NET:递归操作时报错:无法创建新的堆栈防护页面[解决]


希望对碰到相同问题的朋友有所启发,往数据库字段取值上搜寻问题所在。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值