Классический ASP: я получаю сообщение об ошибке несоответствия типов, когда не должен

У меня есть функция для преобразования текста, закодированного в HTML, обратно в HTML. Обычно она отлично работает, но по какой-то причине сегодня я пытаюсь использовать ее для некоторого текста и получаю следующую ошибку:

Microsoft VBScript runtime error '800a000d'

Type mismatch: 'UnChkString'

/manage/solutions_delete.asp, line 22

Строка, в которой я использую эту функцию:

<%= UnChkString(solution_desc) %>

The solution_descпеременная:

&lt;p&gt;Here is a description of what this solution is all about.&lt;/p&gt;

Поле, из которого база данных извлекает solution_desc, является текстовым полем.

Моя функция UnChkString:

Function UnChkString(string)
    UnChkString = Replace(string,"[%]","%")
    UnChkString = HTMLDecode(UnChkString)
End Function

Функция HTMLDecode:

Function HTMLDecode(sText)
    Dim I
    sText = Replace(sText, "&amp;" , Chr(38))
    sText = Replace(sText, "&amp;" , "&")
    sText = Replace(sText, "&quot;", Chr(34))
    sText = Replace(sText, "&rsquo;", Chr(39))
    sText = Replace(sText, "&lt;"  , Chr(60))
    sText = Replace(sText, "&gt;"  , Chr(62))
    sText = Replace(sText, "&nbsp;", Chr(32))
    For I = 1 to 255
        sText = Replace(sText, "&#" & I & ";", Chr(I))
    Next
    HTMLDecode = sText
End Function

EDIT

Я даже пробовал:

<%= UnChkString(CStr(solution_desc)) %>

безуспешно.

11
задан James 8 March 2012 в 14:40
поделиться