2010-06-01 44 views
1

我目前正在使用MS Ajax UpdatePanel的页面上工作。不过,我遇到了一个奇怪的问题。如果我简单地编译并查看我的页面,则其中一个按钮单击事件会导致错误。但是,因为该按钮会影响UpdatePanel中的项目,所以实际的异常对我来说是隐藏的:我得到的全部是通过UpdatePanel Javascript返回给我的HTTP 500错误。如何调试.net错误,其中的消息在Ajax调用中被屏蔽

奇怪的是,如果我在Visual Studio中逐行执行代码,我不会收到错误。该按钮不会导致我期待的行为,但它不会引发错误。

因为逐步通过不会导致错误被抛出,所以我不知道如何才能找到实际的异常消息,以便我可以找出错误被抛出的位置并进行调试。感谢收到的建议。

干杯, 马特

+0

是否启用自定义错误?如果是这样,返回的页面应显示调用堆栈,异常消息 – Anero 2010-06-01 11:27:55

+0

将代码放入try catch块并从catch块返回堆栈跟踪? – Amarghosh 2010-06-01 11:39:13

+0

@Anero - 不确定。我如何启用自定义错误? – 2010-06-01 11:43:52

回答

0

您仍然可以使用firebug查看http响应的正文(请参阅网络选项卡)。或者,您可以禁用JavaScript和你的页面将工作的JavaScript(AJAX)少...

firebug Web developer toolbar to disable/enable js easily

+0

如果我禁用JavaScript,我无法点击按钮来触发ajax调用。 这让我疯狂:( – 2010-06-01 14:03:30

+0

和萤火虫? – 2010-06-01 14:15:52

0

启用在web.config中的自定义错误,应该输出的堆栈跟踪和响应异常信息:

<configuration> 
<system.web> 
    ... 
    <customErrors mode="On" /> 
    ... 
</system.web> 
</configuration> 

记得关闭部署到时错误生产隐藏实施细节给用户以防万一错误。

+0

感谢您的建议,但它没有做任何我害怕的事情。仍然获得JavaScript弹出。 – 2010-06-01 11:55:30