下标越界: 'i'

来源:百度知道 编辑:UC知道 时间:2024/05/21 04:55:39
高手们,帮帮忙看一下啦!!
Microsoft VBScript 运行时错误 错误 '800a0009'

下标越界: 'i'
Cart_List.asp文件部分代码如下
<%
url=request.servervariables("http_referer")
ProdIds = Session("ProdIds")
ProdNums = Session("ProdNums")
call up("购物车状态","购物车状态","购物车状态")
response.write "<tr>"
response.write " <td>"
response.write " <table border=1 width=100% cellpadding=4 style='border-collapse: collapse' bordercolor=#DFDFDF>"
response.write "<tr bgcolor=#f2f2f2><td>商品名称</td><td>市场价</td><td>网站价</td><td>订购数量</td><td>小计</td><td>删除</td></tr>"
response.write "<form action=Cart_List.asp method=post name=form1 onsubmit=return CheckFrom();>"
response.write "<input type=hidden name=cmdShow value=Yes>"

有问题的部分:
aaa=split(ProdNums,",")
bbb=split(ProdIds,",")

问题:你能保证 aaa、bbb 通过 Split 函数分割出来的数组下标完全一致?若不一致因该在调用前检查一下,问题就出现在这里。

调试:
Response.Write aaa & "<br>" & bbb
Response.End
这样输出一下 aaa、bbb 值看看是否正确。

修改:
你没给出发生错误的位置,我根据代码推断因该是以下代码发生错误:

x=aaa(i)
if aaa(i)="" then x=1

这段代码改为
If i > UBound(aaa) Then
x = 1
ElseIf aaa(i) = "" Then
x = 1
Else
x = aaa(i)
End If