0

私のアプリケーションには、レコードのリストを表示するページがあり、すべてのレコードには、そのレコードの詳細をクリックするためのリンクがあります。他のコントローラーに行きます。シーケンスを教えてください。「ToDoListSelect」コントローラーから「ToDoList」に移動し、ToDoListからのリンクをクリックすると「Info」コントローラーに移動します。サーバーと同じデータベースを使用する開発マシンでは、すべてが正常に機能します。今、私はパッケージをサーバーに置き、ページのレコードが500程度未満であれば問題なく動作します。ToDoListからより多くのレコードがある場合、Infoには移動しませんが、例外がスローされ、ToDoListSelectに移動することがわかります。これは奇妙なことです。問題をどこから探し始めるかわかりません。助言がありますか?必要な詳細は私に知らせてください。

これが私のアプリケーションのルートです:

public static void RegisterRoutes(RouteCollection routes) 
{ 
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 
    routes.MapRoute( "Default", // Route name 
        "{controller}/{action}/{id}", // URL with parameters 
        new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults 
    ); 
} 

protected void Application_Start() 
{ 
    AreaRegistration.RegisterAllAreas(); 
    RegisterGlobalFilters(GlobalFilters.Filters); 
    RegisterRoutes(RouteTable.Routes); 
}

スローされるエラーは次のとおりです。

'/'アプリケーションのサーバーエラー。オブジェクトの現在の状態のため、操作は無効です。説明:現在のWebリクエストの実行中に未処理の例外が発生しました。このエラーの詳細についてはスタックトレースを確認し、エラーがコードのどこで発生したかを確認して判断してください。

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

ソースエラー:

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

[InvalidOperationException: Der Vorgang ist aufgrund des aktuellen Zustands des Objekts ungültig.]
   System.Web.HttpRequest.FillInFormCollection() +11485999
   System.Web.HttpRequest.get_Form() +157
   Microsoft.Web.Infrastructure.DynamicValidationHelper.<>c__DisplayClass12.<ReplaceCollection>b__e() +63
   Microsoft.Web.Infrastructure.DynamicValidationHelper.<>c__DisplayClass12.<ReplaceCollection>b__11() +20
   Microsoft.Web.Infrastructure.DynamicValidationHelper.DeferredCountArrayList.get_Count() +20
   System.Web.HttpRequest.ValidateNameValueCollection(NameValueCollection nvc, RequestValidationSource requestCollection) +34
   System.Web.HttpRequest.get_Form() +212
   System.Web.Mvc.FormValueProvider..ctor(ControllerContext controllerContext, IUnvalidatedRequestValues unvalidatedValues) +55
   System.Web.Mvc.FormValueProviderFactory.GetValueProvider(ControllerContext controllerContext) +61
   System.Web.Mvc.<>c__DisplayClassc.<GetValueProvider>b__7(ValueProviderFactory factory) +28
   System.Linq.WhereSelectEnumerableIterator`2.MoveNext() +238
   System.Linq.WhereSelectEnumerableIterator`2.MoveNext() +148
   System.Collections.Generic.List`1..ctor(IEnumerable`1 collection) +472
   System.Linq.Enumerable.ToList(IEnumerable`1 source) +80
   System.Web.Mvc.ValueProviderFactoryCollection.GetValueProvider(ControllerContext controllerContext) +347
   System.Web.Mvc.ControllerBase.get_ValueProvider() +46
   System.Web.Mvc.ControllerActionInvoker.GetParameterValue(ControllerContext controllerContext, ParameterDescriptor parameterDescriptor) +80
   System.Web.Mvc.ControllerActionInvoker.GetParameterValues(ControllerContext controllerContext, ActionDescriptor actionDescriptor) +153
   System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) +691
   System.Web.Mvc.Controller.ExecuteCore() +162
   System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext) +305
   System.Web.Mvc.<>c__DisplayClassb.<BeginProcessRequest>b__5() +62
   System.Web.Mvc.Async.<>c__DisplayClass1.<MakeVoidDelegate>b__0() +20
   System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +469
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +375
4

1 に答える 1

0

理解した!Google さん、ありがとうございます。 http://geekswithblogs.net/renso/archive/2012/01/19/operation-is-not-valid-due-to-the-current-state-of.aspx

変更を web.config に入れると、正常に動作します。

于 2012-07-19T08:05:44.790 に答える