1

クライアントのClassicASPサイトで作業していますが、フッターに表示されるはずの一部の画像が表示されません。エラーメッセージも表示されません。SQLServerデータベースからのイメージファイル名のリストを読み取る必要があるJavaScriptがいくつかあります。これらの画像は、DBの名前のリストに基づいてローカルフォルダから表示されます。これはjavascriptで行われていますが、関数内にASPがあるようです。私は正直にそれがどのように機能するのか、それをデバッグする方法(つまり、javascript関数のASP)を知りません。サイトの他の部分はADO接続に依存しているので、正しく作成されていると確信しています。これをデバッグするにはどうすればよいですか?私はChromeを使用しています。Chromeにはデバッグ用の優れたツールがいくつかあるようです。これが私がしている関数です dステップスルーしてさらに調査できるようにしたい。方法がわかりません。また、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
}

この問題をデバッグする際のガイダンスをいただければ幸いです。

4

1 に答える 1

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

    %>

アップデート:

従来の ASPSystem.Diagnostics.Debugger.Break();では利用できません (ComVisible ラッパーを作成しない限り)。指摘してくれた@FrédéricHamidiに感謝します。

于 2013-01-15T19:20:23.680 に答える