Ошибка, когда Request.QueryString пуст - PullRequest
3 голосов
/ 11 марта 2010

Иногда пользователи ошибочно перенаправляются на? 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 ]

3 голосов
/ 11 марта 2010
if IsNumeric(pageId) and pageId <> "" then
  pageId = Cint(pageId)
else
  pageId = 1
end if

это проверит, имеет ли pageId значение и числовое значение, прежде чем его принять ..

1 голос
/ 11 марта 2010

Классический ASP использует VBScript. Таким образом, ваш PAGEID динамически приводится, и поскольку он пуст, вы не можете сравнить его со строкой. Вы также получите сообщение об ошибке, если попытаетесь сравнить длину, substr и т. Д.

if ISNull(PAGEID) then PAGEID = 1
0 голосов
/ 11 марта 2010

Вы в VBScript. Я полагаю, вам нужно немного поменять местами, и сначала проверьте

ЕСЛИ ПОСЛЕДНЯЯ (ПАГЕТА) ТОГДА PAGEID = 1 Конец IF

Вы хотите проверить, что оно пустое, а не нулевое. Вот статья , в которой немного объясняется, как работают пустые, пустые и пустые значения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...