Dam*_*ien 2 vbscript externalizing asp-classic
我试图将一些asp逻辑分成一个单独的页面.现在,我试图调用一个简单的函数.
这是我正在使用的简单索引页面
<html>
<head>
<title>Calling a webservice from classic ASP</title>
</head>
<body>
<%
If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
%>
<!--#include file="aspFunctions.asp"-->
<%
doStuff()
End If
%>
<FORM method=POST name="form1" ID="Form1">
ID:
<INPUT type="text" name="corpId" ID="id" value="050893">
<BR><BR>
<INPUT type="submit" value="GO" name="submit1" ID="Submit1" >
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
这是aspfunctions.asp
sub doStuff()
Response.Write("In Do Stuff")
end sub
Run Code Online (Sandbox Code Playgroud)
当我点击我的表单上的提交按钮时,我得到下面的子doStuff()Response.Write("In Do Stuff")end sub
Microsoft VBScript运行时错误'800a000d'
有谁知道我可能做错了什么?
任何帮助是极大的赞赏
感谢Damien Type不匹配:'doStuff'
/uat/damien/index.asp,第15行
aspfunctions.asp 应该在内部标签,以便asp被"执行",例如
aspfunctions.asp:
<%
sub doStuff()
Response.Write("In Do Stuff")
end sub
%>
Run Code Online (Sandbox Code Playgroud)
否则,asp in aspfunctions.asp只被视为纯文本,因此就服务器而言,doStuff从未定义过.
您将另一个文件包含在 if 语句中。这并不意味着它是动态包含的,事实并非如此。它将永远被包括在内。
要查看实际效果,请尝试以下示例:
<%
If 1=0 Then
'We never get here
%>
<!--#include file="aspFunctions.asp"-->
<%
dostuff()
End If
dostuff()
%>
Run Code Online (Sandbox Code Playgroud)