经典ASP:如果声明结果不合逻辑

时间:2015-10-16 22:29:47

标签: if-statement asp-classic logic

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

所以它应该进入正确的部分......但是它会进入坏的部分。

screenshot

我试图将下一个字词设为超链接...

1 个答案:

答案 0 :(得分:2)

可能CurPage正在评估为String。 由于VBScript中的表达式False可能有"11" < 52返回值,因此在比较数值变量之前,应确保其数据类型也是数字,而不是字符串。
这将按预期工作。

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