views:

1050

answers:

5

Hi

I am trying to separate some asp logic out into a separat page. For now i am trying to call a simple function. Here is the simple index page 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

A: 

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

doStuff
Mudu
+5  A: 

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

goths
classic case of another set (or hundred) of eyes seeing what the original developer couldn't...good deal!
curtisk
+3  A: 

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

aspfunctions.asp:
<%
    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.

ConroyP
A: 

Hi guys

I cant believe i forgot the <% and %>

Thanks so much for the quick response

have a good day guys

Damo
No problems, it's one of those simple things that it's very easy to overlook but not always so easy to spot!
ConroyP
Dont forget to accept the correct answer
Sameer Alibhai
+1  A: 

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()
%>
AdamH