Vbscript 类型不匹配:';UBound';
为什么我会犯这个错误 类型不匹配:“UBound” 该规范是在其他地方提出的,但没有任何关于其不起作用的报告。看起来它应该能工作,但它不能Vbscript 类型不匹配:';UBound';,vbscript,asp-classic,Vbscript,Asp Classic,为什么我会犯这个错误 类型不匹配:“UBound” 该规范是在其他地方提出的,但没有任何关于其不起作用的报告。看起来它应该能工作,但它不能 这里显示的代码就是您所需要的一切。通过简单地运行代码,您将看到错误。问题不是很清楚,但从我所看到的来看,有两个主要问题 函数UBound()需要一个有效数组返回上限,否则将引发类型不匹配错误 这里的问题是,函数需要一个数组,但传递给它的是一个字符串(如注释中所述)。如果字符串包含有效的字符串数组(可通过分隔符解释为一维数组的字符串),则可以使用Split()
这里显示的代码就是您所需要的一切。通过简单地运行代码,您将看到错误。问题不是很清楚,但从我所看到的来看,有两个主要问题
UBound()
需要一个有效数组返回上限,否则将引发类型不匹配
错误
这里的问题是,函数需要一个数组
,但传递给它的是一个字符串
(如注释中所述)。如果字符串包含有效的字符串数组(可通过分隔符解释为一维数组的字符串),则可以使用Split()
函数将字符串转换为有效数组,并IsArray()
检查是否返回了有效数组
JumbleArray()
返回一个数组
,该数组不能仅使用Response.Write()
输出到页面。要输出它,首先需要使用IsArray()
检查它是否为有效数组,然后使用Join()
输出值,或者使用循环遍历数组中的每个元素
strTestArray = "1,2,3,4,5,6,7,8"
Dim TestArray: TestArray = Split(strTestArray, ",")
If IsArray(TestArray) Then
TestArray = JumbleArray(TestArray)
If IsArray(TestArray) Then
Call Response.Write(Join(TestArray, ","))
End If
Else
Call Response.Write("Not a valid array")
End If
这个问题不是很清楚,但从我看来,有两个主要问题
UBound()
需要一个有效数组返回上限,否则将引发类型不匹配
错误
这里的问题是,函数需要一个数组
,但传递给它的是一个字符串
(如注释中所述)。如果字符串包含有效的字符串数组(可通过分隔符解释为一维数组的字符串),则可以使用Split()
函数将字符串转换为有效数组,并IsArray()
检查是否返回了有效数组
JumbleArray()
返回一个数组
,该数组不能仅使用Response.Write()
输出到页面。要输出它,首先需要使用IsArray()
检查它是否为有效数组,然后使用Join()
输出值,或者使用循环遍历数组中的每个元素
strTestArray = "1,2,3,4,5,6,7,8"
Dim TestArray: TestArray = Split(strTestArray, ",")
If IsArray(TestArray) Then
TestArray = JumbleArray(TestArray)
If IsArray(TestArray) Then
Call Response.Write(Join(TestArray, ","))
End If
Else
Call Response.Write("Not a valid array")
End If
函数需要一个数组。你正在传递一个字符串。数组是通过选择复选框组合而成的,那么它怎么可能是其他的呢?@WilliamK向我们展示实际的代码,而不是你认为的问题所在。可能是重复的。这就是实际的代码。但是,如果您引用表单提交的结果来创建数组,那么数组的定义与这里完全相同。尝试上面的代码,您将得到相同的错误。函数需要一个数组。你正在传递一个字符串。数组是通过选择复选框组合而成的,那么它怎么可能是其他的呢?@WilliamK向我们展示实际的代码,而不是你认为的问题所在。可能是重复的。这就是实际的代码。但是,如果您引用表单提交的结果来创建数组,那么数组的定义与这里完全相同。尝试上面的代码,您将得到相同的错误。