在Classic ASP中选择案例编号

时间:2016-05-26 12:27:33

标签: vbscript asp-classic

如何在Classic ASP中选择以下选项?

<%
Select case aNumber
    case 1 to 2
        a="pizza"
    case 3 to 4
        a="pasta"
    case else
        a="spaghetti"
end select
%>

2 个答案:

答案 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 3Case;

<%
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

有用的链接