2011-04-25 78 views
0

我正在本地运行IIS上的ASP.NET项目,并且在处理回发后异常报告回到Web浏览器。为什么我的服务器端异常不会导致我的代码在VS2010中中断?

在VS2010中,如果我查看Debug-> Exceptions ...,每个异常类型都会在引发时检查是否中断。

这里是我看到在我的浏览器弹出窗口中的例外:

Line: 868 Error: Sys.WebForms.PageRequestManagerServerErrorException: Input string was not in a correct format.

这里的响应返回给我从提琴手得到了浏览器:

41|error|500|Input string was not in a correct format.|

当然我一派,而大部分职位说试图将一个字符串解析为一个int可能会导致这种情况。我不认为我在做那样的事情。

======编辑=======
删除的UpdatePanel,现在我得到:

[FormatException: Input string was not in a correct format.] 
System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal) +12630469 
System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info) +224 
System.Web.UI.WebControls.GridView.HandleEvent(EventArgs e, Boolean causesValidation, String validationGroup) +483 
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3691 

=============== ==

感谢, 马克

+0

[PageRequestManager](http://msdn.microsoft.com/en-us/library/bb311028.aspx)类是客户端API的一部分,所以它在客户端尝试访问时显示错误解析响应中返回的内容。如果你发布更多的代码并接受更多的答案,我相信你会得到一个解决方案。 – Town 2011-04-25 19:13:01

+0

我发布了上面的响应(这是一个例外),客户端解析并显示它就好了。这实际上与代码无关,还有更多与我一起试图弄清楚为什么VS不会中断,即使它看起来像是在服务器上抛出异常。 – MStodd 2011-04-25 19:38:10

+0

您使用更新面板吗?尝试将[EnablePartialRendering](http://msdn.microsoft.com/zh-cn/library/system.web.ui.scriptmanager.enablepartialrendering.aspx)设置为false或删除更新面板,然后您应该看到例外之后。 – Town 2011-04-25 19:47:54

回答

1

问题是我的网格中有一个按钮,我设置了CommandArgument,我不应该这样做。这被GridView用来获取行索引,以防它没有拥有该按钮的实际行。

0

我不知道打破你的调试器。默认情况下,这种类型的错误不会破坏你的代码。您应该为处理数据操作的代码设置适当的try {} catch {}语句设置。您甚至可以在catch{}中输出一些调试变量,以帮助您在处理大量数据时找到错误。运行你的调试器并遍历它来找出错误。

+0

问题是,我不知道在哪里引发异常。我在我的所有PageLoad代码周围以及我所有按钮点击代码的周围放置了一个try/catch。如果VS设置为打破任何异常,并且发生异常,我希望它会中断。 – MStodd 2011-04-25 19:13:59

相关问题