【问题标题】:classic asp if statement issue经典的 asp if 语句问题
【发布时间】:2012-08-03 08:29:10
【问题描述】:

我有一个 if 语句,我很确定它是正确的并且应该可以工作。但由于某种原因,它不是。

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)  

【问题讨论】:

    标签: asp-classic vbscript


    【解决方案1】:

    我认为问题在于数据类型。

    例如我测试了以下脚本(只需将内容放入名为test.vbs的文件中,然后双击它:

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

    这将输出“no”和“11”。

    在您的代码中,iCat 将是一个字符串,因为您只是从 request.QueryString 中提取它,因此请尝试使用 CInt 将其转换为整数

    【讨论】:

    • iCat 总是 1 并且 ors2('id') 也包含 1 第一次循环
    • 啊 - 我明白了。如果您使 if 语句变得微不足道,它会起作用吗?例如if 1=1
    • 根据额外信息更新了答案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多