If statement 无法使elseif ASP正常工作
我遇到了一个其他声明的问题,希望有人能帮助我 这是我们目前拥有的代码:If statement 无法使elseif ASP正常工作,if-statement,vbscript,asp-classic,If Statement,Vbscript,Asp Classic,我遇到了一个其他声明的问题,希望有人能帮助我 这是我们目前拥有的代码: <% Response.Buffer = True If Request.QueryString("MapLocation") = "" Then Response.Redirect "Page_Not_Found.html" ElseIf Request.QueryString("StaffName") = "Shaun MaWhinney" Then Response.Redirect "Leave
<%
Response.Buffer = True
If Request.QueryString("MapLocation") = "" Then
Response.Redirect "Page_Not_Found.html"
ElseIf Request.QueryString("StaffName") = "Shaun MaWhinney" Then
Response.Redirect "Leavers.html"
Else
strMapLocation = Request.QueryString("MapLocation")
strStaffName = Request.QueryString("StaffName")
End If
%>
我在ElseIf语句中添加了希望它能工作的代码,但不幸的是它完全跳过了它并执行Else代码。StaffName绝对等于Shaun MaWhinney,所以我不明白为什么它不打开leavers.html文件。有什么想法吗?非常感谢您花时间阅读此邮件。您可以使用此简单脚本
Option Explicit
Dim aCond : aCond = Array(False, True) ' <-- your experiments here
WScript.Echo Join(aCond)
If aCond(0) Then
WScript.Echo 1
ElseIf aCond(1) Then
WScript.Echo 2
Else
WScript.Echo 3
End If
为了说服自己,ElseIf分支将在
Request.QueryStringMapLocation=为False
Request.QueryStringStaffName=Shaun MaWhinney为True
到达Else分支的唯一方法是从aCond=ArrayFalse开始,False。因此,请仔细检查Shaun的姓是MaWhinney还是MacWhinney或McWhinney。您是否100%确定该名称正确/大写与您正在测试的相同,即:Shaun MaWhinney将与Shaun MaWhinney不同,等等。如果您不确定,可以转换并测试小写/大写字符串 如果您只是在Shaun MaWhinney的MapLocation为空时尝试重定向到Leavers.html,则可以执行以下操作:
<%
Response.Buffer = True
If Request.QueryString("MapLocation") = "" Then
If lcase(Request.QueryString("StaffName")) = "shaun mawhinney" Then
Response.Redirect "Leavers.html"
else
Response.Redirect "Page_Not_Found.html"
End If
Else
strMapLocation = Request.QueryString("MapLocation")
strStaffName = Request.QueryString("StaffName")
End If
%>
您可以尝试两件简单的事情-首先,将此作为elseif子句
ElseIf Server.Urlencode(Request.QueryString("StaffName")) = "Shaun+MaWhinney" Then
Response.Redirect "Leavers.html"
第二
删除您的ElseIf子句
如果在结束后添加以下行
如果strStaffName=Shaun MaWhinney,则响应。重定向Leavers.html如果
显然,您也可以使用方法2尝试Server.Urlencode,您的代码没有问题。尝试替换Response.Redirect Leavers.html为Response.Write StaffName Hit:Response.End;看看它是否被打印出来。谢谢你,这份ElseIf声明对我帮助很大!感谢大家花时间帮我解答这个问题。非常感谢。
ElseIf Server.Urlencode(Request.QueryString("StaffName")) = "Shaun+MaWhinney" Then
Response.Redirect "Leavers.html"