日期:2014-05-17  浏览次数:21055 次

include自定义函数会报错“类型不匹配”,而直接写到当前文件不会

运行环境:UTF8编码 繁体

考虑到编码问题,我在运行程序的页头均加上了

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%Response.CodePage=65001%>
<%Response.Charset="UTF-8"%>
<%Response.ContentType="text/html; charset=utf-8"%>


common.function.asp内含若干自定义函数function,大部分不返回值,而直接输出内容


当我 <!--#include file="inc/common.function.asp"--> 到程序页面运行时

总是会报“类型不匹配”的错误 Microsoft VBScript '800a000d' 


而直接将自定义函数写到当前页面而不会!?

算定义函数举例
VBScript code

    '****************************************************
    '函数名:Alert
    '作  用:弹出对话框提示
    '参  数:msg   ----对话框信息
    '       gourl ----提示后转向哪里
    '返回值:无
    '****************************************************
    Public Function Alert(msg,goUrl)
        msg = replace(msg,"'","\'")
          If goUrl="" Then
              goUrl="history.go(-1);"
        Else
            goUrl="window.location.href='"&goUrl&"'"
        End IF
        Response.Write ("<script language=""JavaScript"" type=""text/javascript"">"&vbNewLine&"alert('" & msg & "');"&goUrl&vbNewLine&"</script>")
        Response.End
    End Function




望大神解救,困了我好几天。。

------解决方案--------------------
看哪一行报错
------解决方案--------------------
会不会是你先执行的函数才调用的文件
------解决方案--------------------
VBScript code
 Response.Write ("<script language='JavaScript' type='text/javascript'>"& vbNewLine &"alert('" & msg & "');"& goUrl & vbNewLine &"</script>")
        Response.End