我从表中拉出一个字段并根据结果做不同的事情。这是我的代码
<%stringA ="Select field From table Where something=1"
set response = connFW.Execute(stringA )
set result = response ("field")
If result ="y" Then
Response.Write("The field is: " & result )
End If%>
输出:
The field is: y
然后,我有一个If语句:
<% ElseIf result ="y" or Session("customer_id") <> "" Then
Do Something
%>
但它永远不会执行ElseIf语句中的内容!它在页面顶部说它给出了正确的结果!我错过了什么吗?
注意:为避免混淆,此代码位于页面顶部:
Set connFW = Server.CreateObject("ADODB.Connection")
connFW.ConnectionTimeout = Application("FW_ConnectionTimeout")
connFW.CommandTimeout = Application("FW_CommandTimeout")
connFW.Open Application("FW_ConnectionString")
答案 0 :(得分:1)
你的ElseIf语句似乎没有前面的If语句,除非你在某处遗漏了一些代码。
你需要:
If x Then
Do something
ElseIf y Then
Do something else
End If
你不能让ElseIf只是坐在它自己身上。
答案 1 :(得分:1)
如果没有看到完整的代码,很难看出确切的问题在哪里,但我看到了两种可能性。要么你自己有一个“ElseIf”,在这种情况下你应该将ElseIf改为普通的If:
如果result =“y”或Session(“customer_id”)&lt;&gt; “”那么
...或者您将ElseIf放在上一个之后:
If result ="y" Then
Response.Write("The field is: " & result )
ElseIf result ="y" or Session("customer_id") <> "" Then
Do Something
End If
如果是后者,那么你的ElseIf将不会执行,因为在前一个If语句中已经满足result =“y”条件。