Request.QueryString为空时出错

时间:2010-03-11 14:54:13

标签: asp-classic

有时用户会错误地重定向到?Process = ViewImages& PAGEID =。发生这种情况时,会出现以下错误。

Microsoft VBScript运行时错误'800a000d'

类型不匹配:'[string:“”]'

/FLPM/cp/images.cs.asp,第91行

我尝试使用以下代码修复它,但仍然会遇到相同的错误。

PAGEID = Request.QueryString("PAGEID")

If PAGEID = "" or PAGEID = NULL or PAGEID = 0 Then
    PAGEID = 1
End If

3 个答案:

答案 0 :(得分:3)

if IsNumeric(pageId) and pageId <> "" then
  pageId = Cint(pageId)
else
  pageId = 1
end if

这会在接受之前检查pageId是否有值是数值。

答案 1 :(得分:1)

Classic ASP使用VBScript。所以你的PAGEID是动态转换的,因为它是空的,你无法将它与字符串进行比较。如果您尝试比较长度,substr等,也会出错。

if ISNull(PAGEID) then PAGEID = 1

答案 2 :(得分:0)

你在使用VBScript我相信你需要稍微交换一下,然后先检查

如果ISEmpty(PAGEID)那么     PAGEID = 1 结束IF

您要验证它是否为空,而不是null。这是一个article,它解释了有关Empty,Null和Nothing的工作方式。