带服务器端包含的Classic ASP文件中的语法错误

问题描述 投票:-2回答:1

我称这些“量子”错误是因为它们违反了所有有理逻辑-我有一个if语句,其中包含带有两行的<table>,如下所示:

<%
    ...
    If Not Request("InsertPlacement") <> "" Then
%>

<table width="100%" border="0">
    <tr>
        <td>
            <!-- #include file="UserHeader.asp" -->
        </td>
    </tr>
    <tr>
        <td>
            ...
        </td>
    </tr>
</table>
<% End If %>

现在,我遇到了很多编译错误,它们说“如果必须以匹配的结束符if结束”(确实如此)和“语句不能出现在方法主体之外”(是吗?它在<%%>标记中)和“期望声明”(完全没有意义)。

如果删除<tr>内部的两个<table>标签,或删除整个<table>,则编译错误就会消失。 但是-如果我删除一个或另一个<tr>标记,那么无论哪一个,错误都不会消失[[not。那么哪个<tr>标签引起了错误?就像双缝实验一样-无论我删除哪一个,错误都是通过<tr>标签引起的!这里到底发生了什么?!

vbscript asp-classic
1个回答
2
投票
您的UserHeader.asp文件将包含不匹配或损坏的控制流语句。

在运行VBScript解释器之前评估服务器端包含。

(与PHP相比,在执行时评估了require / include)

© www.soinside.com 2019 - 2024. All rights reserved.