经典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() %>