我正在使用客户端的经典ASP网站,并且一些应该在页脚中显示的图像没有显示出来。我也没有看到任何错误消息。有一些javascript应该在SQL Server数据库的图像文件名列表中读取。这些图像根据DB中的名称列表从本地文件夹中显示。这是在javascript中进行的,但看起来函数中有一些ASP。老实说,我不知道应该如何工作或如何调试它(即javascript函数中的ASP)。该网站的其他部分依赖于ADO连接,所以我很确定这是正确创建的。我该如何调试?我正在使用Chrome,它似乎有一些很好的调试工具。这是我希望能够逐步完成并进行更多调查的功能。我只是不确定如何。此外,当我在Chrome中查看这一部分javascript时,只有部分内容存在!这是功能:
function declareLogos() {
<% ' get logos
SQL = "SELECT l.LogoFileName, p.SortOrder FROM InrixCustomerLogo l join InrixCustomerLogoPage p on l.LogoCode = p.LogoCode WHERE p.PageFileName = '" & fn & "' AND SortOrder > 0 ORDER BY SortOrder"
On Error Resume Next
Set oLOGO = oConn.Execute(SQL)
logoerror = Err.Number
On Error Goto 0
x = 1 ' array counter
%>
<% If NOT logoerror Then %>
<% Do While NOT oLOGO.EOF %>
i[<% =x %>] = '<% =oLOGO("LogoFileName") %>';
<% oLOGO.MoveNext : x = x + 1 : Loop %>
<% End If %>
imax = <% =x-1 %>;
ilast = <% =(((x-1)*4)/4) %>; // <% =(((x-1)*4)/4) %> this is imax - 1 that is divisible by four
}
在实际的网页上,这是Chrome的工具显示的功能:
function declareLogos() {
imax = 0;
ilast = 0; // 0 this is imax - 1 that is divisible by four
}
非常感谢调试此问题的任何指导!
答案 0 :(得分:0)
请注意,ASP代码不在您的JavaScript代码中。它是用于简单使用的内联ASP代码。如果可能,建议不要使用内联代码。您可以在代码隐藏中编写代码。
这是你可以在内联代码的特定点打破
<% System.Diagnostics.Debugger.Break();
// Code will be present here
%>
在你的情况下
<% System.Diagnostics.Debugger.Break();
' get logos
SQL = "SELECT l.LogoFileName, p.SortOrder FROM InrixCustomerLogo l join InrixCustomerLogoPage p on l.LogoCode = p.LogoCode WHERE p.PageFileName = '" & fn & "' AND SortOrder > 0 ORDER BY SortOrder"
On Error Resume Next
Set oLOGO = oConn.Execute(SQL)
logoerror = Err.Number
On Error Goto 0
x = 1 ' array counter
%>
<强>更新强>
在经典ASP中System.Diagnostics.Debugger.Break();
不可用(除非你在它周围编写一个ComVisible包装器)。感谢@FrédéricHamidi指出它。