为什么我的JavaScript警报不显示?

为什么我的JavaScript警报不显示?,javascript,vbscript,internet-explorer-11,alert,ie11-developer-tools,Javascript,Vbscript,Internet Explorer 11,Alert,Ie11 Developer Tools,在一个旧站点上,我刚刚被允许修改,我添加了一些不熟悉的VBScript,只是试图伪造它,直到我这样做: 'determine whether this unit is a new business currentYear = Year(Now) SQLString = "Select NewBiz from MasterUnitsprojSales where CYear = " & currentYear & " and Unit = '" & Unit & "

在一个旧站点上,我刚刚被允许修改,我添加了一些不熟悉的VBScript,只是试图伪造它,直到我这样做:

'determine whether this unit is a new business
currentYear = Year(Now)
SQLString = "Select NewBiz from MasterUnitsprojSales where CYear = " & currentYear & " and Unit = '" & Unit & "'"
adoRS.Open(SQLString, adoCon)
IsNewBusiness = TRUE 'default (if record not found)
If Not adoRS.EOF Then
    IsNewBusiness = adoRS.Fields.Item(0).Value <> 0
End If
adoRS.Close()

ReturnMsg = "Made it to IsNewBusiness logic"
Response.Write("<script type=""text/javascript"">" & vbCrLf)
Response.Write("<!--" & vbCrLf)
Response.Write("alert ('" & ReturnMsg & "');" & vbCrLf)
Response.Write("-->" & vbCrLf)
Response.Write("</script>" & vbCrLf)
在我添加End If行之前,它失败了-导航到该页面给了我一个err msg

添加End之后,如果err msg消失了,但是javascript警报没有显示,为什么不显示呢

使用F12,我必须在IE11中运行它,在兼容模式下,我查找这个文件,以便在其中放置断点,但它似乎不可用

使现代化 根据Archer的回答,我将代码替换为以下代码:

ReturnMsg = "IsNewBusiness logic not reached"
currentYear = Year(Now)
SQLString = "Select NewBiz from MasterUnitsprojSales where CYear = " & currentYear & " and Unit = '" & Unit & "'"
adoRS.Open(SQLString, adoCon)
IsNewBusiness = TRUE 'default (if record not found)
If Not adoRS.EOF Then
    IsNewBusiness = adoRS.Fields.Item(0).Value <> 0
    ReturnMsg = "Made it to IsNewBusiness logic"
End If
adoRS.Close()

%> <!-- this indicates the end of aspx - start of markup -->

<script type="text/javascript">
    alert("<%= ReturnMsg %>");
</script>

<% 

…但当我导航到该页面时,仍然没有看到任何警报。

好的,首先要做的事情。您不需要使用Response.Write在aspx文件中,因为这是执行后将作为标记发送到浏览器的内容。您可以在其中放置任何类型的普通标记,包括Javascript。所以,你可以改变你目前拥有的这个

'determine whether this unit is a new business
currentYear = Year(Now)
SQLString = "Select NewBiz from MasterUnitsprojSales where CYear = " & currentYear & " and Unit = '" & Unit & "'"
adoRS.Open(SQLString, adoCon)
IsNewBusiness = TRUE 'default (if record not found)
If Not adoRS.EOF Then
    IsNewBusiness = adoRS.Fields.Item(0).Value <> 0
End If
adoRS.Close()

ReturnMsg = "Made it to IsNewBusiness logic"

%> <!-- this indicates the end of aspx - start of markup -->

<script type="text/javascript">
    alert("<%= ReturnMsg %>");
</script>

<% <!-- this indicates end of markup but is only required if you have any further aspx code -->

为什么你有和->在里面?这是无效的JavaScript。^^^如果您坚持使用脚本标记,它们应该在脚本标记之外。另外,我假设这是ASP。如果是这样,当VBScript在服务器上执行时,您将在浏览器中看不到任何VBScript,只有呈现的标记被发送到浏览器。@4castle:我从文件的其他地方复制了该代码;我只是将措辞改为显示。@Archer:是的,这些是.aspx文件。