0

System.Web.UI.WebControls.GridView コントロールがあります。これは、.Net 3.5 を使用する ASP.Net SharePoint Web パーツ アプリケーションで実行されています。

フォームの送信時に、このグリッドに 957 行ある場合、正常に機能します。958 行の場合、失敗します。これは、web.config で変更したため、maxRequestLength のオーバーフローではないと確信しています。また、大きなサイズの 957 レコードを読み込んでから、小さなサイズの 958 レコードを読み込んでも、同じ動作が発生します。それよりも多くのレコードをロードし、ビューをクライアントに返す前にそれらをランダムに削除するため、1 つのレコードでもありません (これが 958 のマジック ナンバーを見つけた方法です)。

決してランダムではありません。957 レコードは、合計サイズに関係なく、またデバッグ中の遅延に関係なく (タイムアウトは発生しません)、常に送信されます。958 は常に失敗します。実際に返されるサーバー エラーは次のとおりです。

Uncaught Sys.WebForms.PageRequestManagerServerErrorException: Sys.WebForms.PageRequestManagerServerErrorException: サーバーで要求を処理中に不明なエラーが発生しました。サーバーから返されたステータス コード: 500

私は途方に暮れています。誰かが以前にこのようなことに遭遇したことがありますか、または何かアイデアがありますか?

4

1 に答える 1

0

問題は、送信されたデータに 1000 個のキーと値のペアがあることが判明しました。そのため、レコード数が 958 になりました (フォーム送信には、他に 43 のキーと値のペアがありました)。

ASP.Net には 1000 レコードの制限があります。ここでの答えはこれを完全に説明しています。

于 2013-08-26T14:05:12.703 に答える