1. ホーム
  2. c#

[解決済み] ドロップダウンリストを選択すると、現在のオブジェクトの状態によって操作が有効になりません[重複]。

2022-01-25 11:08:50

質問

aspxページにラコンボボックスがありますが、そこからオプションを選択すると、エラー`Server Error in '/' Application.が表示されます。

オブジェクトの現在の状態により、操作が有効ではありません。 説明 現在のWebリクエストの実行中に、処理されない例外が発生しました。エラーの詳細とコードの発生場所については、スタックトレースを確認してください。

<ブロッククオート

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

ソースエラーです。

の実行中に処理されない例外が発生しました。 現在の Web リクエスト。リクエストの送信元と送信先に関する情報 例外は以下の例外スタックトレースで確認することができます。

スタックトレース

[InvalidOperationException: 現在のオペレーションは無効です。 の状態です]。
System.Web.HttpValueCollection.ThrowIfMaxHttpCollectionKeysExceeded() +2692302 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() +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 `.

どのように解決するのですか?

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

マイクロソフトセキュリティアップデートMS11-100の適用により は、HTTP POSTリクエストの際にFormsコレクション内のキーの 軽減するために この問題は、その数を増やす必要があります。

これは、アプリケーションのWeb.Configにある <appSettings> セクションの下に直接作成します。 <configuration> もし が存在しない場合)。以下の行と同じような2行を セクションを作成します。

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

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