Asp classic 经典的asp包括
我试图将一些asp逻辑分离到一个单独的页面中。 现在,我尝试调用一个简单的函数 这是我正在使用的简单索引页Asp classic 经典的asp包括,asp-classic,vbscript,externalizing,Asp Classic,Vbscript,Externalizing,我试图将一些asp逻辑分离到一个单独的页面中。 现在,我尝试调用一个简单的函数 这是我正在使用的简单索引页 <html> <head> <title>Calling a webservice from classic ASP</title> </head> <body> <% If Request.ServerVariables("REQUEST_METHOD") = "POST" Then %> <
<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>
当我点击表格上的“提交”按钮时,我得到以下信息
sub doStuff()Response.Write(“In Do Stuff”)end sub
Microsoft VBScript运行时错误“800a000d”
有人知道我做错了什么吗
非常感谢您的帮助
谢谢
达米恩
类型不匹配:“doStuff”
/uat/damien/index.asp,第15行如果我没记错的话,没有返回值的调用不需要括号(未测试的解决方案):
您必须在标记内具有asp函数。
aspfunctions.asp
应位于标记内,以便asp被“执行”,例如
aspfunctions.asp:
否则,
aspfunctions.asp
中的asp只被视为纯文本,因此就服务器而言,doStuff
从未定义过。您将另一个文件包含在if语句中。这并不意味着它是动态包含的,它不是。它将始终包括在内
要查看此操作,请尝试以下示例:
<%
If 1=0 Then
'We never get here
%>
<!--#include file="aspFunctions.asp"-->
<%
dostuff()
End If
dostuff()
%>
在两个地方进行更改:
在aspfunctions.asp中写入“sub doStuff”,而不是sub doStuff()
将函数调用为doStuff
notdoStuff()
经典案例:另一组(或数百只)眼睛看到了原始开发人员无法看到的东西…好交易!
doStuff
aspfunctions.asp:
<%
sub doStuff()
Response.Write("In Do Stuff")
end sub
%>
<%
If 1=0 Then
'We never get here
%>
<!--#include file="aspFunctions.asp"-->
<%
dostuff()
End If
dostuff()
%>