Pregunta

Estoy tratando de separar a algunos lógica asp en una página separada.Por ahora, estoy tratando de llamar a una función simple.

Aquí está el índice simple página en la que estoy utilizando

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

Aquí es aspfunctions.asp

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

Cuando me golpeó el botón de enviar en mi formulario me sale el siguiente sub doStuff() Respuesta.Escribir("En Hacer las Cosas") end sub

Microsoft VBScript en tiempo de ejecución error '800a000d'

¿Alguien tiene alguna idea de qué puedo estar haciendo mal?

Cualquier ayuda es muy apreciada

Gracias Damien Tipo de desajuste:'doStuff'

/uat/damien/index.asp, línea 15

¿Fue útil?

Solución

aspfunctions.asp debe estar dentro de las etiquetas para el asp es "ejecutado", por ejemplo,

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

De lo contrario, la asp en aspfunctions.asp es visto como texto sin formato, así como la medida de que el servidor de que se trate, doStuff nunca ha sido definido.

Otros consejos

Usted debe tener las funciones de asp en el interior de la <% %> etiqueta.

Estás incluyendo el otro archivo dentro de una instrucción if.Esto no significa que es incluido dinámicamente, no lo es.Siempre va a ser incluido.

Para ver esto en acción pruebe este ejemplo:

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

Si recuerdo correctamente, necesita ningún soporte para llamadas sin valor de retorno (no probada solución):

doStuff

Hacer cambios en dos lugares:

  1. En aspfunctions.asp escribir "sub doStuff" en lugar de sub doStuff()
  2. Llamar a la función como doStuff no doStuff()
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top