如何在Classic ASP中选择以下选项?
<%
Select case aNumber
case 1 to 2
a="pizza"
case 3 to 4
a="pasta"
case else
a="spaghetti"
end select
%>
答案 0 :(得分:7)
在Select Case Statement
中指定范围来自VB6的日期,可能更旧。 VBA和VB.Net也支持但从未在VBScript中实现,很奇怪。所以你不能。
但是还有其他方法可以达到类似的效果。例如下面的解决方法:
Select Case True 'looking for True
Case aNumber >= 1 And aNumber <= 2
a = "pizza"
Case aNumber >= 3 And aNumber <= 4
a = "pasta"
Case Else
a = "spaghetti"
End Select
或通过辅助函数增强:
Function InRange(val, min, max)
InRange = val >= min And val <= max
End Function
Select Case True 'looking for True
Case InRange(aNumber, 1, 2)
a = "pizza"
Case InRange(aNumber, 3, 4)
a = "pasta"
Case Else
a = "spaghetti"
End Select
答案 1 :(得分:1)
你不能但是有一个解决方法
<%
Dim aNumber: aNumber = 1
Dim a
Select case aNumber
Case 1, 2
a = "pizza"
Case 3, 4
a = "pasta"
Case Else
a = "spaghetti"
End Select
Call Response.Write(a)
%>
输出:
pizza
这可能看起来像上面一样,但它的工作方式不同,例如,如果我们想要为1 to 2
更改1 to 3
到Case
;
<%
Dim aNumber: aNumber = 2
Dim a
Select case aNumber
Case 1, 3
a = "pizza"
Case 4
a = "pasta"
Case Else
a = "spaghetti"
End Select
Call Response.Write(a)
%>
输出:
spaghetti
我们没有pizza
,因为Case
必须包含所有选项,它不能在范围内工作,因此需要进行以下修改才能使用;
Case 1, 2, 3
输出:
pizza