5

我有一个警报框,如果我目前在测试数据库上,我希望警报框与实时数据库相比具有不同的文本。

所以我声明了一个名为的变量isTestDb并将其设置为True,但我不断收到这个烦人的错误:

Microsoft VBScript compilation error '800a0411'

Name redefined

myfiles/conn_open.asp, line 12

Dim isTestDb
----^

这是我的简单代码,它位于比我进行条件检查的地方高得多的包含内,我假设这不是问题。

Dim isTestDb

isTestDb = True


-- Much Later in another file somehwere

If isTestDb Then
    Response.Write("<h1>It is set to True</h1>")
    Response.End
Else
    Response.Write("<h1>It is set to False</h1>")
    Response.End
End If

我已经检查了我所有的工作目录,并且确定该变量没有以相同的名称设置在其他地方,我什至为该变量尝试了不同的名称并得到了完全相同的错误。

4

4 回答 4

9

在我的情况下,这是因为我在我的 .asp 文件中引用了同一个文件两次,使用的是:

<!--#include file="myFile.asp">

并且引用的文件中有声明,因此第二个声明与第一个冲突

于 2015-10-07T14:24:18.657 回答
5

这是因为变量isTestDb已经在另一个页面中定义了。

于 2014-11-26T14:35:20.033 回答
2

我不知道为什么,但是当我删除这Dim isTestDb条线时,它现在一切正常!!:/

于 2013-11-13T12:00:52.010 回答
2

也可能是因为您包含了已经包含在其他包含文件中的文件。

例如:文件 a.asp 包含 x.asp。在你的主文件中,你包括:

<!--#include file="a.asp">
<!--#include file="x.asp">
于 2018-02-21T12:01:21.690 回答