经典的asp包括

发布于 2024-07-06 15:03:07 字数 978 浏览 11 评论 0原文

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

I am trying to separate some asp logic out into a separate page.
For now, I am trying to call a simple function.

Here is the simple index page that I am using

<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>

Here is aspfunctions.asp

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

When i hit the submit button on my form i get the below
sub doStuff() Response.Write("In Do Stuff") end sub

Microsoft VBScript runtime error '800a000d'

Does anyone have any idea what i could be doing wrong?

Any help is greatly appreciated

Thanks
Damien
Type mismatch: 'doStuff'

/uat/damien/index.asp, line 15

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

眼趣 2024-07-13 15:03:07

您必须在 <% %> 内包含 asp 函数。 标签。

You must have the asp functions inside the <% %> tag.

方圜几里 2024-07-13 15:03:07

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

aspfunctions.asp 文件:

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

否则 aspfunctions.asp 中的 asp 仅被视为纯文本,所以就服务器而言,doStuff 从未被定义过。

aspfunctions.asp should be inside tags so the asp is "executed", e.g.

aspfunctions.asp file:

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

Otherwise the asp in aspfunctions.asp is just seen as plain-text, so as far as the server is concerned, doStuff has never been defined.

长亭外,古道边 2024-07-13 15:03:07

您将另一个文件包含在 if 语句中。 这并不意味着它是动态包含的,事实并非如此。 它将永远被包括在内。

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

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

You're including the other file within an if statement. This does not mean that it's dynamically included, it's not. It will always be included.

To see this in action try this sample:

<%
If 1=0 Then
'We never get here
%>
    <!--#include file="aspFunctions.asp"-->
<%
    dostuff()
End If
dostuff()
%>
空袭的梦i 2024-07-13 15:03:07

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

doStuff

If I remember correctly, you need no brackets for calls without a return value (untested solution):

doStuff
您的好友蓝忘机已上羡 2024-07-13 15:03:07

在两个地方进行更改:

  1. 在 aspfunctions.asp 中编写“sub doStuff”而不是 sub doStuff()
  2. 将函数调用为 doStuff 而不是 doStuff() >

Make changes in two places:

  1. In aspfunctions.asp write "sub doStuff" instead of sub doStuff()
  2. Call the function as doStuff not doStuff()
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文