ASP.NET Ajax 调试技巧:用 FireBug 调试 UpdatePanel 不更新问题

今天有一个人询问我 UpdatePanel 不更新的问题,他在 Fiddler 里面已经看到传递的数据了,但是搞不明白为什么没有更新。那么这个时候就要调试到脚本中去,看看到底发生了什么。我用的是 FireBug,情况如下图:

aspnetajax_debug.JPG

图中当前页面引用了两个 ScriptResource.xsd 脚本文件,其内容是系统生成的 js 脚本:

MicrosoftAjax.js
MicrosoftAjaxWebForms.js

在 MicrosoftAjaxWebForms.js 中有下列一些关键代码,可以用 FireBug 在这些地方下断点查看 UpdatePanel 更新的细节过程。

1316行:  updatePanelElement.innerHTML  =  rendering;

注意这个语句是针对某一个特定的 updatePanel,所以如果回发后有多个 panel 要更新,则会多次跑到这个断点处。


这个语句的调用堆栈大致是:

1087行:  this ._updatePanel(updatePanelElement, deltaPanelRendering);
859行:     
function  Sys$WebForms$PageRequestManager$_onFormSubmitCompleted(sender, eventArgs) {

基本上客户端的问题如果找不到出错原因,从 859行开始单步调试就能搞清楚了。


如果页面不能在 FireFox 中正常呈现,非要用 IE 调试,也是可以的。用 Visual Studio 2005 进入调试状态后,选择菜单里面的  Debug -> Windows -> Script Explorer 就可以看到所有脚本资源了,打开后一样可以下断点。

如下图所示:
aspnetajax_debug_vs.JPG

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值