经典 ASP:不合逻辑的 If 语句结果

Classic ASP: Illogical If Statement Result

response.Write("CurPage=" & CurPage & "<br />")
response.Write("iNumPages=" & iNumPages)
if CurPage < iNumPages then
    response.Write("in correct part")
    writepagebar = sStr & sLink & CurPage + 1 & """ rel=""next"">" _
      & snext & "</a> " & sLink & iNumPages & """><span class=""pagebarquo""" _
      & " style=""font-family:Verdana;font-weight:bold"">&raquo;</span></a>"
else
    response.Write("in bad part")
    writepagebar = sStr & " " & snext & " <span class=""pagebarquo""" _
       & " style=""font-family:Verdana;font-weight:bold"">&raquo;</span>"
end if

这里有什么问题?正在打印

CurPage=11
iNumPages=52

所以它应该进入正确的部分...但是它进入了错误的部分。

我正在尝试使 Next 单词成为超 link...

可能 CurPage 正在评估为 String。 由于 VBScript 中的 "11" < 52 等表达式可能有 False return 值,因此在比较数字变量之前,您应该确保其数据类型也是数字,而不是字符串。
这将如您所愿。

if CLng(CurPage) < CLng(iNumPages) then
    'correct part
else
    'bad part
end if