19

aspxページにradcomboボックスがあり、そこからオプションを選択すると、「/」アプリケーションでエラー「サーバーエラー」が発生します。

オブジェクトの現在の状態が原因で、操作は無効です。説明:現在のWebリクエストの実行中に未処理の例外が発生しました。エラーとエラーがコードのどこで発生したかについての詳細は、スタックトレースを確認してください。

例外の詳細:System.InvalidOperationException:オブジェクトの現在の状態が原因で、操作が無効です。

ソースエラー:

現在のWebリクエストの実行中に、未処理の例外が生成されました。例外の発生源と場所に関する情報は、以下の例外スタックトレースを使用して識別できます。

スタックトレース:

[InvalidOperationException:オブジェクトの現在の状態が原因で操作が無効です。]
System.Web.HttpValueCollection.ThrowIfMaxHttpCollectionKeysExceeded()+2692302 System.Web.HttpValueCollection.FillFromEncodedBytes(Byte [] bytes、Encoding encoding)+61System.Web
。 HttpRequest.FillInFormCollection()+148

[HttpException(0x80004005):URLエンコードされたフォームデータが無効です。] System.Web.HttpRequest.FillInFormCollection()+206
System.Web.HttpRequest.get_Form()+68
System.Web.HttpRequest.get_HasForm()+8735447
System.Web.UI.Page.GetCollectionBasedOnMethod(Boolean dontReturnNull)+97 System.Web.UI.Page.DeterminePostBackMode()+63 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint、Boolean includeStagesAfterAsyncPoint)+133


バージョン情報:Microsoft .NET Frameworkバージョン:2.0.50727.3634; ASP.NETバージョン:2.0.50727.3634 `

4

3 に答える 3

54

http://codecorner.galanter.net/2012/06/04/solution-for-operation-is-not-valid-due-to-the-current-state-of-the-object-error/から

この問題は、Microsoft SecurityUpdateMS11-100がHTTPPOSTリクエスト中にFormsコレクション内のキーの数を制限しているために発生します。この問題を軽減するには、その数を増やす必要があります。

これは、セクションのアプリケーションWeb.Configで実行できます(セクションが存在しない場合は<appSettings> 、そのすぐ下にセクションを作成します)。<configuration>以下の行と同様の2行をセクションに追加します。

<add key="aspnet:MaxHttpCollectionKeys" value="2000" />
<add key="aspnet:MaxJsonDeserializerMembers" value="2000" />

上記の例では、制限を2000キーに設定しています。これにより制限が解除され、エラーが解消されます。

于 2012-06-04T17:47:27.127 に答える
12

これは、電話をかけると発生する可能性があります

 .SingleOrDefault() 

2つ以上の要素を持つIEnumerable。

于 2012-10-22T01:57:44.230 に答える
0

私はこの問題に対する答えがすでに受け入れられていることを知っていますが、誰かがweb.configの外で実行できる解決策があるかどうかコメントで尋ねました。ListViewでまったく同じエラーが発生し、EnableViewStateをfalseに設定すると、この問題が解決しました。

于 2014-07-02T14:27:58.797 に答える