我正在本地运行IIS上的一个ASP.NET项目,并且在处理回发后会将异常报告回Web浏览器。
在VS2010中,如果我查看Debug-> Exceptions ...,则会在抛出时检查每个异常类型是否中断。
以下是我在浏览器弹出窗口中看到的异常:
行:868 错误:Sys.WebForms.PageRequestManagerServerErrorException:输入字符串的格式不正确。
以下是我从Fiddler获得的浏览器的回复:
41 | error | 500 |输入字符串的格式不正确。|
当然我用google搜索,大多数帖子都说尝试将字符串解析为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 :(得分:1)
问题是,对于我在网格中的按钮,我设置了CommandArgument,我不应该这样做。 GridView使用它来获取行索引,以防它没有拥有该按钮的实际行。
答案 1 :(得分:0)
在调用代码之前发生异常。也许这个? Sys.WebForms.PageRequestManagerServerErrorException 12031
答案 2 :(得分:0)
我不知道打破你的调试器。默认情况下,此类错误不会破坏您的代码。对于处理数据操作的代码,您应该有一个正确的try {} catch {}语句设置。您甚至可以在catch{}
中输出一些调试变量,以帮助您在处理大量数据时找到错误。运行调试器并遍历它以查找错误。