我有一个警告框,如果我目前在测试数据库上,我希望警报框与实时数据库相比具有不同的文本。
所以我声明了一个名为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
我已经检查了所有工作目录,并且我确定变量没有在其他地方设置相同的名称,我甚至为变量尝试了不同的名称并得到了完全相同的错误。任何帮助将不胜感激。
答案 0 :(得分:3)
这是因为变量isTestDb
已在另一页中定义。
答案 1 :(得分:3)
在我的情况下,这是因为我在.asp文件中使用以下内容引用了两次相同的文件:
<!--#include file="myFile.asp">
引用的文件中有声明,因此第二个声明与第一个
冲突答案 2 :(得分:2)
我不知道为什么,但是当我删除Dim isTestDb
行时,它现在按预期运行!! :/
答案 3 :(得分:0)
它也可能是因为您包含已经的文件,包括在其他包含文件中。
例如: 文件a.asp包含x.asp。 在您的主文件中,您包括:
<!--#include file="a.asp">
<!--#include file="x.asp">