当计数器达到X时,Can Do While Loop停止

Dan*_*Dan 1 while-loop asp-classic

我想编辑一些用classic-ASP编写的遗留代码.

目前我已经声明了一个使用for-next循环输出一些单选按钮的子程序:

 For i = 1 to Cols
   response.write "blah"
   ...
 Next
Run Code Online (Sandbox Code Playgroud)

只是一个计数器,Cols是传递给子程序的值.我尝试将for循环编辑为while循环:

i = Start
do while i <= Cols
  response.write "blah"
  ...
  i = i + 1
loop
Run Code Online (Sandbox Code Playgroud)

但是我得到了一个超出响应缓冲区限制的错误.如果我用值替换Cols,它可以正常工作.这是经典ASP的限制吗?


我想使用do while循环的原因是因为当前子例程仅限于从1循环到Cols.有时向后指定循环计数(即步骤-1)会有所帮助,但我不能写:

if Direction = Backwards then 
  For i = Cols to 1 step -1
else
  For i = 1 to Cols
end if
Run Code Online (Sandbox Code Playgroud)

Fio*_*ala 5

怎么样:

If Direction = Backwards Then
    cs = 10
    ce = 1
    s = -1
Else
    cs = 1
    ce = 10
    s = 1
End If

For i = cs To ce Step s
    ''
Next
Run Code Online (Sandbox Code Playgroud)