Pergunta

Eu estou tentando separar alguma lógica asp para fora em uma página separada. Por agora, eu estou tentando chamar uma função simples.

Aqui está a página de índice simples que eu estou usando

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

Aqui está aspfunctions.asp

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

Quando eu acertar o botão enviar no meu formulário eu recebo o abaixo sub doStuff () Response.Write ( "Em fazer coisas") end sub

Microsoft VBScript erro de execução '800a000d'

Alguém tem alguma idéia do que eu poderia estar fazendo de errado?

Qualquer ajuda é muito apreciada

Graças Damien Incompatibilidade de tipo: 'doStuff'

/uat/damien/index.asp, linha 15

Foi útil?

Solução

aspfunctions.asp deve ser dentro de tags para que o ASP é "executado", por exemplo.

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

Caso contrário, o asp em aspfunctions.asp é visto apenas como texto simples, assim, tanto quanto o servidor está em causa, doStuff nunca foi definido.

Outras dicas

Você deve ter as funções ASP dentro da tag <%%>.

Você está incluindo outro arquivo dentro de uma instrução if. Isso não significa que ele está incluído dinamicamente, não é. Ele sempre será incluído.

Para ver isso em ação tentar este exemplo:

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

Se bem me lembro, você não precisa de suportes para chamadas sem um valor de retorno (solução não testado):

doStuff

fazer alterações em dois locais:

  1. Na gravação aspfunctions.asp "sub doStuff" em vez de sub doStuff()
  2. Chame a função como doStuff não doStuff()
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top