mvc 4 のサーバー側アクション メソッドでパラメーターを動的としてアクセプトすると、この長いエラーが発生します。
{"メッセージ":"エラーが発生しました。","ExceptionMessage":"'Newtonsoft.Json.Linq.JObject' には 'TournamentId' の定義が含まれていません","ExceptionType":"Microsoft.CSharp.RuntimeBinder.RuntimeBinderException ","StackTrace":" CallSite.Target(Closure , CallSite , Object ) で\r\n System.Dynamic.UpdateDelegates.UpdateAndExecute1[T0,TRet](CallSite サイト, T0 arg0) で\r\n ManagerDeTorneos.Web で.Controllers.TournamentDateController.Create(Object data) in F:\Prince\Projects\Juan\trunk\ManagerDeTorneos.Web\Controllers\TournamentDateController.cs:line 133\r\n at lambda_method(Closure , Object , Object[] )\ r\n at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<> c_DisplayClass13.bSystem.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.Execute(オブジェクト インスタンス、Object[] 引数) で \r\n System.Threading.Tasks.TaskHelpers で _c(Object instance, Object[] methodParameters)\r\n。 RunSynchronously[TResult](Func`1 func, CancellationToken cancelToken)"}
[HttpPost]
public HttpResponseMessage AddMatch(dynamic data)
{
int tournamentDateId = (int)data.TournamentDateId.Value;
var tournamentDate = Catalog.TournamentDateRepository.GetById(tournamentDateId);
if (tournamentDate == null)
{
throw ExceptionHelper.NotFound("Fecha no encontrada!");
}
上記のメソッド データには、ajax 呼び出しから送信されたトーナメント ID が含まれています。JSON.Stringify({'TournamentId':'5'}).
エラーの原因を誰か教えてください。Newtonsoft.Json の dll も置き換えました