经典asp包括

时间:2020-03-06 14:35:40  来源:igfitidea点击:

我试图将一些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>

这是aspfunctions.asp

sub doStuff()
    Response.Write("In Do Stuff")
end sub

当我点击表单上的提交按钮时,我得到以下内容
sub doStuff()Response.Write(" In Do Stuff")end sub

Microsoft VBScript运行时错误'800a000d'

有谁知道我可能做错了什么?

任何帮助是极大的赞赏

谢谢
达米安
类型不匹配:" doStuff"

/uat/damien/index.asp,第15行

解决方案

如果我没记错的话,没有返回值的电话不需要括号(未解决的解决方案):

doStuff

我们必须在<%%>标记内包含asp函数。

aspfunctions.asp应该位于标签内,以便"执行" asp,例如

aspfunctions.asp:
<%
    sub doStuff()
        Response.Write("In Do Stuff")
    end sub
%>

否则," aspfunctions.asp"中的asp只会被视为纯文本,因此就服务器而言,从未定义过" doStuff"。

我们将另一个文件包含在if语句中。这并不意味着它是动态包含的,不是。它将始终包括在内。

要查看实际效果,请尝试以下示例:

<%
If 1=0 Then
'We never get here
%>
    <!--#include file="aspFunctions.asp"-->
<%
    dostuff()
End If
dostuff()
%>