asp.net我无法在脚本部分调试javascript

时间:2012-08-05 20:06:09

标签: c# javascript asp.net debugging

我有简单的javascript功能:

<form id="form1" runat="server">
    <script type="text/javascript">

         function doSomething(message) {
        var div1 = document.getElementById('div1');
        div1.innerHTML = 'afas';
    }

    </script>

<telerik:RadButton ID="btnShowUpload" runat="server" OnClientClicked="doSomething('test1')"  Text="Upload file">
    </telerik:RadButton>

当我在函数OnClientClicked中设置断点并从F5开始然后单击按钮时,应用程序不会在断点处停止。它只在我通过Start而不调试运行项目时停止,然后在Mozilla(firebug)中我可以在此函数中设置断点,当我按下按钮时它会停止。如何在Visual中调试?不是在Mozilla?

由于

3 个答案:

答案 0 :(得分:2)

右键单击项目中的页面,例如Default.aspx,然后选择Browse With ...菜单项。

显示对话框时,选择Internet Explorer,然后单击“设为默认值”按钮,然后按取消按钮。

打开Internet Explorer,转到“Internet选项”对话框,单击“高级”选项卡,确保在“浏览”部分下,未选中“禁用脚本调试(Internet Explorer)”。

然后,为了强制调试,你可以添加javascript调试器;行到你的javascript方法的主体:

function doSomething(message) {
   debugger;
   // rest of your code

当您以这种方式调试时,Internet Explorer将使您能够选择要使用的应用程序和实例,其中一个选项将是Internet Explorer。

还有其他方法可以将调试器从Visual Studio Web应用程序项目中附加到Internet Explorer的实例,例如从“调试”菜单中选择“附加到进程...”,然后选择具有iexplore.exe的实例。类型列中列出的一种脚本,它运行您有兴趣调试的页面。

答案 1 :(得分:0)

你可以在你的javascript中设置一个带有调试指令的断点 -

 function OnClientClicked(button, args) {
            debug;
            if (window.confirm("Are you sure you want to submit the page?")) {
                button.set_autoPostBack(true);
            }
            else {
                button.set_autoPostBack(false);
            }
        }

答案 2 :(得分:0)

调试器关键字放在要调试的javascript代码之前。

  <form id="form1" runat="server">
   <script type="text/javascript">       
   //enable debugging javascript code          
    debugger;
     function doSomething(message) {
    var div1 = document.getElementById('div1');
    div1.innerHTML = 'afas';
}

</script>