asp 跳出循环 避开陷阱

for循环嵌套的时候一定要及时跳出,否则就会出现莫名其妙的问题,就像我开始的时候这样:

写一个在线购彩程序,当用户在购彩页面选择了复选框的值后,程序会根据这些值生成可能的注数,并输出。
for each b in iddI
for each c in iddII
for each d in iddIII
for each e in iddIV
for each f in iddV
for each g in iddVI
for each h in iddVII


'if b="" then
'response.write("数据位数不完全,请您重新选择")
'response.end()
'end if
if caizhong="福彩3D" or caizhong="排列3" then
n=trim(b)&trim(c)&trim(d)
str=str&n&" "
elseif caizhong="排列5" then
n=trim(b)&trim(c)&trim(d)&trim(e)&trim(f)
str=str&n&" "
elseif caizhong="七星彩" then
n=trim(b)&trim(c)&trim(d)&trim(e)&trim(f)&trim(g)&trim(h)
str=str&n&" "
end if
next
next
next
next
next
next
next

输出时用的是

<%=str%>
奇怪的是只有当caizhong="七星彩"的时候才能正常输出,其他情况下str的值都为空。谁知道怎么回事儿,给帮下忙。多谢了先。

到处求教而不得其解,郁闷的我都快要撞墙了,最后查for循环的时候看到跳出循环的语句 exit for,灵感突发,心想,是不是没有跳出循环的原因呢?修改程序为如下代码:
for each b in iddI
for each c in iddII
for each d in iddIII
if caizhong="福彩3D" or caizhong="排列3" then
n=trim(b)&trim(c)&trim(d)
str=str&n&"&nbsp;"
exit for
end if
for each e in iddIV
for each f in iddV
if caizhong="排列5" then
n=trim(b)&trim(c)&trim(d)&trim(e)&trim(f)
str=str&n&"&nbsp;"
exit for
end if
for each g in iddVI
for each h in iddVII
if caizhong="七星彩" then
n=trim(b)&trim(c)&trim(d)&trim(e)&trim(f)&trim(g)&trim(h)
str=str&n&"&nbsp;"
end if

next
next
next
next
next
next
next

保存,运行,哈哈终于按我的意思显示了,激动ing。
大家以后再使用for循环嵌套的时候要小心喽,该跳出的时候一定要跳出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值