문제

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

내 양식에 제출 버튼을 누르면 아래 하위 dostuff () response.write ( "in do stitle") END SUB를 얻습니다.

Microsoft vbscript 런타임 오류 '800a000d'

내가 무엇을 잘못 할 수 있는지 아는 사람이 있습니까?

모든 도움은 대단히 감사합니다

감사합니다 Damien 유형 불일치 : 'Dostuff'

/uat/damien/index.asp, 15 행

도움이 되었습니까?

해결책

aspfunctions.asp ASP가 "실행"되도록 태그 내부에 있어야합니다.

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

그렇지 않으면 ASP가 aspfunctions.asp 서버와 관련하여 방금 일반 텍스트로 간주됩니다. doStuff 정의 된 적이 없습니다.

다른 팁

< % %> 태그 내에 ASP 함수가 있어야합니다.

IF 문 안에 다른 파일을 포함시킵니다. 이것은 그것이 동적으로 포함되어 있다는 것을 의미하지는 않습니다. 항상 포함됩니다.

이것을 보려면이 샘플을 사용해보십시오.

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

내가 정확하게 기억하면 반품 값없이 통화 용 괄호가 필요하지 않습니다 (비정상적인 솔루션).

doStuff

두 곳을 변경하십시오.

  1. aspfunctions.asp에서 대신 "sub dostuff"를 쓰십시오 sub doStuff()
  2. 기능을 다음과 같이 호출하십시오 doStuff ~ 아니다 doStuff()
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top