0

我们遇到了一个问题,即 ASP 循环遍历表单元素的速度非常慢。创建的表单只是名称和复选框的列表(在我们的示例中为 21 个)。然后,我们想要遍历表单元素并找出勾选了哪些复选框。

此例程创建表单,并且是即时的:

<%
  y = 0
  do while y <= ubound(overdueArray,2)%>
  <tr>
  <td width="25%">&nbsp;</td>
  <input type="hidden" name="employeeID<%=y%>" id="employeeID<%=y%>" value="<%=overdueArray(2,y)%>">
  <td align="center" style="border-width:1px;border-color:<%=session.Contents("PageTitleBorder")%>;border-left-style:solid;border-bottom-style:solid;">
  <%response.Write(overdueArray(0,y)&" "&overdueArray(1,y))%></td>
  <td align="center" style="border-width:1px;border-color:<%=session.Contents("PageTitleBorder")%>;border-left-style:solid;border-bottom-style:solid;border-right-style:solid;">
  <input type="checkbox" id="remind<%=y%>" name="remind<%=y%>" value="sendReminder<%=y%>">
  </td>                
  <td width="25%">&nbsp;</td>
  </tr>
  <%y = y + 1
  loop
%>

然后,此代码挂起或超时,屏幕上只有 21 个项目:

x = 0
do while x <= request.Form("total")
if request.Form("remind"&x) <> "" then
                response.Write("test") 
end if                    
x = x + 1
loop

我不是开发人员,也不了解 ASP,这是给我的同事的,他还没有使用 SO。

请问有什么想法或建议吗?

4

1 回答 1

1

抱歉,在为此苦苦挣扎了几个小时后,我们解决了它。我们request.Form("total")首先放入一个会话变量(它是一个隐藏的表单元素),并在每次循环中检查变量而不是表单元素。这解决了这个问题。

于 2013-07-24T16:34:00.073 回答