经典的ASP如果语句问题

问题描述:

我有一个if语句,我很确定它是正确的,应该工作。但由于某种原因,事实并非如此。经典的ASP如果语句问题

while not oRs2.EOF 
if iCat = oRs2("id") then 
%> 
    <div class ="<%= oRs2("id") %><%= iCat %>"> 
<% 
else 
%> 
    <div class ="faqquestion <%= oRs2("id") %><%= iCat %>"> 
<% 
end if 
%> 

这就是你得到的。

<div class="faqquestion 11"> 
<div class="faqquestion 21"> 
<div class="faqquestion 31"> 

,但它应该是什么

<div class="11"> 
<div class="faqquestion 21"> 
<div class="faqquestion 31"> 

不能看到什么我做错了,做1 = 1!?

如何变量被设置:

dim iCat 
iCat = request.QueryString("cat") 

dim sSQL 
sSQL = "Select * from table"   
set oRs2 = oConn.Execute(sSQL) 

我认为这个问题是数据类型之一。

比如我测试下面的脚本(只取内容,并放入一个文件名为test.vbs,然后双击它:

dim i 
i = "1" 

dim j 
j=1 

if i = j then 
    msgbox "yes" 
else 
    msgbox "no" 
end if 
msgbox i & j 

这将输出“没有”和“11”。

在你的代码中ICAT将是一个字符串作为你只是从request.QueryString拉它,试图将其转换为使用CInt

+0

ICAT始终为1和ors2一个整数(“ID”)也含有1周第一次通过循环 – Beginner 2012-08-03 08:37:19

+0

啊 - 我明白了,它有效吗?如果你让if语句微不足道?例如'if 1 = 1' – 2012-08-03 08:45:44

+0

是的,我刚刚尝试过,并且正常工作 – Beginner 2012-08-03 08:47:14