が問題をシミュレートするサンプルコードです:クラシックASP - 奇妙な種類の不一致エラーここ
buy.aspfuncts.asp
<%
Function SecureStr(Str)
Dim Res
Res = Trim(Str)
If (Res <> "") Then
Res = Replace(Res, "'", "")
Res = Replace(Res, ";", "")
Res = Replace(Res, "=", "")
End If
SecureStr = Res
End Function
%>
main.asp
<%
Option Explicit
Dim Dept
Dept = Request.QueryString("d")
%>
<html>
<body>
<%=Server.Execute(Dept & ".asp")%>
</body>
</html>
<!--#include file="functs.asp"-->
<%
Dim Name
Name = SecureStr(Request.Form("name"))
%>
BUY CONTENT
ご覧のとおり、functs.asp i buy.aspファイルに含まれています。これにより、開いたときに問題(エラー)なしで動作します。http://localhost/main.asp?d=buy。
main.aspまあ
<%
Option Explicit
Dim Dept
Dept = Request.QueryString("d")
%>
<!--#include file="functs.asp"-->
<html>
<body>
<%=Server.Execute(Dept & ".asp")%>
</body>
</html>
buy.asp
<%
Dim Name
Name = SecureStr(Request.Form("name"))
%>
BUY CONTENT
、functs.asp内部に含ま:しかし、今、私はこのように、main.asp内部functs.aspを含めるようにしようとしていますmain.asp、エラーメッセージが表示されます:
Microsoft VBScript runtime error '800a000d'
Type mismatch: 'SecureStr'
/buy.asp, line 3
私に助けてくれますか?私は実際に何が起こっているのか分かりません...
ありがとう!
ありがとうございました!私は回避策を見つけようとします... – Guybrush
@パルバようこそ。あまりにも多くのオプションがありません。私はすべての関数をインクルードするための一般的なaspファイルを準備し、 'Server.Execute'によって実行されるaspページで宣言が必要になります。 –
Kul-Tigin、#include file = "functs.asp"をServer.Execute( "functs.asp")に置き換えることを意味しますか? – Guybrush