gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 10:24:58 26 4
gpt4 key购买 nike

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

我更愿意使用 Visual Studio 2008 客户端 debbging 功能,但断点只能在带有脚本 block 的 aspx 文件中设置。

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

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

if (!cs.IsClientScriptBlockRegistered(cstype, csname2))
{
StringBuilder cstext2 = new StringBuilder();
cstext2.Append("<script type=\"text/javascript\"> function DoClick() {");
cstext2.Append("Form1.Message.value='Text from client script.'} </");
cstext2.Append("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.'} </");
...

此外,您还必须按如下方式调整您的 IE:

工具->Internet 选项->高级。确保未选中“禁用脚本调试(其他)”和“禁用脚本调试(Internet Explorer)”。

现在,如果调用 DoClick 方法,将生成一个特殊的异常,IE 将建议您运行一个新的 VS 实例,您可以在其中调试脚本。

希望对您有所帮助。

关于javascript - 如何调试使用 RegisterClientScriptBlock 方法注册的 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3596513/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com