0

我正在创建一个使用 aGridView和 aSqlDataSource作为数据源的网络报告,并且对于看起来很大GridView的 s 它正在崩溃。该网页允许用户输入日期范围,单击“搜索”按钮,然后根据日期执行 SQL 查询。我知道查询有效并且日期被正确提取,但这是导致崩溃的原因:

  1. 用户输入一个较大的日期范围,然后单击“搜索”按钮
  2. 查询运行,并正确返回约 4500 个条目
  3. 然后用户输入一天并单击“搜索”按钮
  4. 程序崩溃,并给出以下错误消息:

    说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。异常详细信息:System.InvalidOperationException:由于对象的当前状态,操作无效。

查看堆栈跟踪和一些断点,我很确定这是在按钮的 OnClick 方法被调用之前发生的。我之前在一个月前制作的类似报告页面上也发生过这种情况,但我想知道为什么。

这里发生了什么?

我在 VS 2008 上以调试模式执行此操作,并且我正在使用 C# ASP.NET 进行编码,如果其中有任何影响的话。另外,我不确定哪些代码会有所帮助,如果我需要编辑和发布一些代码,请告诉我。

编辑这里是堆栈跟踪:

[InvalidOperationException:由于对象的当前状态,操作无效。] System.Web.HttpValueCollection.ThrowIfMaxHttpCollectionKeysExceeded() +2692462 System.Web.HttpValueCollection.FillFromEncodedBytes(Byte[] bytes, Encoding encoding) +61 System.Web。 HttpRequest.FillInFormCollection() +148

[HttpException (0x80004005): URL 编码的表单数据无效。] System.Web.HttpRequest.FillInFormCollection() +206 System.Web.HttpRequest.get_Form() +68 System.Web.HttpRequest.get_HasForm() +8743895 System.Web.UI.Page.GetCollectionBasedOnMethod(Boolean dontReturnNull) +97 System.Web.UI.Page.DeterminePostBackMode() +63 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +133

4

1 回答 1

0

你去了,你已经超过了 postdata limit。我相信您正在将整个网格发回服务器。

于 2013-06-21T15:33:29.187 回答