tags:

views:

222

answers:

3

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
A: 

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.

Mitchel Sellers
I tried ISEMPTY before but funny thing happens when I use it. I get Type mismatch: 'PAGEID' on the line where I use PAGEID next time.
zurna
+1  A: 

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
Lloyd
+1  A: 
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..

Gaby