function - 错误 '800a005e' 无效使用 Null : 'CDate' when using a function in ASP Classic-VBScript

标签 function asp-classic error-handling vbscript

我创建了一个名为 FormatDT 的函数,并将其放在 \include\basic_function.asp

这是该函数的代码:

function FormatDT(ddate,format)
        ddate = cdate(ddate)
        Set re = New RegExp
        re.Pattern = "%."
        re.Global = True
        re.IgnoreCase = False
        're.MultiLine = True
        set matches = re.execute(format)
        hasil = ""
        tmp = format
        for each match in matches
            fmt = match.value
            select case fmt
                case "%d" hasil = day(ddate)
                case "%D" hasil = right("00" & day(ddate),2)
                case "%m" hasil = month(ddate)
                case "%M" hasil = right("00" & month(ddate),2)
                case "%b" hasil = left(MonthName(month(ddate)),3)
                case "%B" hasil = MonthName(month(ddate))
                case "%y" hasil = right(year(ddate),2)
                case "%Y" hasil = year(ddate)
                case "%h" hasil = hour(ddate)
                case "%H" hasil = right("00" & hour(ddate),2)
                case "%n" hasil = minute(ddate)
                case "%N" hasil = right("00" & minute(ddate),2)
                case "%s" hasil = second(ddate)
                case "%S" hasil = right("00" & second(ddate),2)
                case else hasil = replace(fmt,"%","")
            end select
            tmp = replace(tmp,fmt,hasil)
        next
        FormatDT = tmp
    end function

我在这里使用这个函数:

<input style="text-align:center" class="label" style="width:6em;" type="text" id="txtDate" name="txtDate" size="12" value="<%=FormatDt(dtglvalid,"%M/%D/%Y")%>" >

当我加载页面时,我收到如下错误消息:

Microsoft VBScript runtime error '800a005e' Invalid use of Null: 'cDate'
/include/basic_function.asp, line 234

第 234 行位于 ddate = cdate(ddate)

如何解决这个错误?

最佳答案

ASP 提示变量 ddateNULL。查看您的代码,变量 dtglvalid 看起来像是 NULL,它被传递给函数并导致错误。你可以这样做:

<input ... value="<% if not IsNull(dtglvalid) then Response.Write FormatDt(dtglvalid,"%M/%D/%Y") %>">

关于function - 错误 '800a005e' 无效使用 Null : 'CDate' when using a function in ASP Classic-VBScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10682127/

相关文章:

error-handling - 如何处理PayPal智能按钮中的错误?

function - 将函数结果分配给SQL变量并显示

php - $this->request->is ('put' )) 方法在 CakePHP 中做什么?

vbscript - 通过 TLS 发送电子邮件

javascript - 有没有办法在我的 asp 网站上创建打印功能?

c++ - 我应该使用断言来验证第三方功能吗?

objective-c - 如何访问 C 函数中的 N 个参数并将相同的 N 传递给下一个?

无法用函数指针填充 double 组

file-upload - ASP VB上传文件,不要使用原来的文件名!使用 URL 方案来命名上传的文件。

asp.net - Log4Net、ThreadContext 和 Global.asax