简体   繁体   中英

Error when Request.QueryString is empty

Sometimes users mistakenly redirected to ?Process=ViewImages&PAGEID=. When this happens, they get the following error.

Microsoft VBScript runtime error '800a000d'

Type mismatch: '[string: ""]'

/FLPM/cp/images.cs.asp, line 91

I tried to fix it with the following codes but still get the same error.

PAGEID = Request.QueryString("PAGEID")

If PAGEID = "" or PAGEID = NULL or PAGEID = 0 Then
    PAGEID = 1
End If
if IsNumeric(pageId) and pageId <> "" then
  pageId = Cint(pageId)
else
  pageId = 1
end if

this will check if the pageId has a value and is a numeric value, before accepting it..

Classic ASP uses VBScript. So your PAGEID is dynamically cast, and since it is empty you cannot compare it to a string. You will also get an error if you try and compare the length, substr and so on.

if ISNull(PAGEID) then PAGEID = 1

You are in VBScript I believe you need to swap this around a bit, and first check

IF ISEmpty(PAGEID) THEN PAGEID = 1 End IF

You want to validate that it is empty, not null. Here is an article that explains a bit about the way Empty, Null, and Nothing work.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM