在asp中类型不匹配: 'UBound' 这是为什么呢?

报错内容是:Microsoft VBScript 运行时错误 错误 '800a000d'

类型不匹配: 'UBound'

/incs/config.asp,行 1197
config.asp第1197行的内容是:for tempc=0 to ubound(tempvar)
以下是部分内容:

function getwebnav(byval pdttpe,byval pcid)
if not chk_int(pcid) then
pcid=SafeRequest("pcid")
end if
tempvar=application("pl_menu_"&pdttpe)
for tempc=0 to ubound(tempvar)
tempv=tempvar(tempc)
if instr(tempv,":") then
temppcid=getvalsec(tempv,":",1)
if not chk_int(pcid) then
pdtclsnme=getvalsec(tempv,":",2)
pcid=temppcid
exit for
elseif cint(pcid)=cint(temppcid) then
pdtclsnme=getvalsec(tempv,":",2)
exit for
end if
end if
next
session("pdtclsnme")=pdtclsnme
session("pcid")=pcid
tempvs=application("pl_menutpe")
for myi=0 to ubound(tempvs)
tempv=tempvs(myi)
if lcase(left(tempv,3))=lcase(pdttpe) then
tempp=right(tempv,len(tempv)-instr(tempv,":"))
tempp=left(tempp,instr(tempp,":")-1)
session("pdttpenme")=tempp
end if
next

end function

aluckdog
浏览 363回答 2
2回答

慕容森

比如你定义变量int num;这个num是整型,而你却要给这个num赋值num="a";这样就会报错,因为a不属于整型,无法进行加减运算等。你这个应该是哪个变量的类型是UBound,而你将它赋值为其它类型或是与其它类型比较。相当于问你a和1哪个大,a是字母,1是数字,两个是不能进行比较的,也就是类型不一样。

12345678_0001

在这句for tempc=0 to ubound(tempvar)之前要先用 Split将tempvar进行分割后才能用ubound来计算数组大小例:tempvar="a,b,c"tempvar=Split(tempvar,",")for tempc=0 to ubound(tempvar)Response.Write tempvar(tempc)next
打开App,查看更多内容
随时随地看视频慕课网APP