Ошибка вызвана применением CInt
к переменной nulled.
iPaymentId
устанавливается равным нулю, если Request.Form("cboPayment")
равно 0, а CInt(iPaymentId)
пытается преобразовать iPaymentId
в целое число независимо от его значения.Преобразование переменной с нулем в целое не допускается в VBscript.
Строка ...
If CInt(iPaymentIdRS) = CInt(iPaymentId) Then selPayment = selPayment & " selected "
... не должна выполняться, если iPaymentId
равно нулю.Чтобы убедиться, что iPaymentId
было присвоено числовое значение перед выполнением сравнения, измените его на:
If IsNumeric(iPaymentId) Then : If CInt(iPaymentIdRS) = CInt(iPaymentId) Then selPayment = selPayment & " selected "
Если iPaymentId
равно нулю, сравнение не запустится и ошибка не возникнет.