如何调试使用RegisterClientScriptBlock方法注册的Javascript

如何调试使用RegisterClientScriptBlock方法注册的Javascript,javascript,asp.net,visual-studio,internet-explorer,Javascript,Asp.net,Visual Studio,Internet Explorer,我有许多需要调试的现有脚本,都是从代码隐藏中嵌入的 我更喜欢使用VisualStudio2008客户端解块功能,但断点只能在带有脚本块的aspx文件内设置 问题是我不能在脚本上设置断点,因为它们都是从代码隐藏文件(而不是aspx文件)注册的。使用ClientScriptManager.RegisterClientScriptBlock方法(类型、字符串、字符串、布尔值)将脚本添加到页面 下面是一个示例(它没有损坏,只是一个如何添加到页面的示例) if(!cs.IsClientScriptBloc

我有许多需要调试的现有脚本,都是从代码隐藏中嵌入的

我更喜欢使用VisualStudio2008客户端解块功能,但断点只能在带有脚本块的aspx文件内设置

问题是我不能在脚本上设置断点,因为它们都是从代码隐藏文件(而不是aspx文件)注册的。使用ClientScriptManager.RegisterClientScriptBlock方法(类型、字符串、字符串、布尔值)将脚本添加到页面

下面是一个示例(它没有损坏,只是一个如何添加到页面的示例)

if(!cs.IsClientScriptBlockRegistered(cstype,csname2))
{
StringBuilder cstext2=新的StringBuilder();
追加(“函数DoClick(){”);
cstext2.Append(“Form1.Message.value='Text from client script.'}”);
cs.RegisterClientScriptBlock(cstype,csname2,cstext2.ToString(),false);
}
是否可以在不必拉出测试页面中的每个脚本的情况下对其进行调试


编辑:谢谢

您应该添加调试器;代码中的指令。大概是这样的:

 cstext2.Append("<script type=\"text/javascript\"> function DoClick() {debugger;");
 cstext2.Append("Form1.Message.value='Text from client script.'} </");
...
cstext2.Append(“函数DoClick(){debugger;”);

cstext2.Append(“Form1.Message.value='Text from client script.}当然-IE开发工具和Firebug都可以做到这一点我明天要尝试一下IE开发工具,我已经看到了“脚本”"tab,但主要使用HTML和CSS功能。它似乎为一个断点在一行上放置了大量代码,无论如何,我明天将尝试使用真实页面。这可能正是我需要使用visual studio调试的内容。在这种情况下,我将在明天尝试,谢谢!确认,效果非常好。只需一个简单的事情就可以了我搜索了一下,当IE提示您启动VS时,我让它连接,然后按“继续”让它完成,然后我刷新了我的网页,Visual Studio打开了文档,它直接停在我的行上,我在那里有调试器;行。再次感谢
 cstext2.Append("<script type=\"text/javascript\"> function DoClick() {debugger;");
 cstext2.Append("Form1.Message.value='Text from client script.'} </");
...