jQuery を使用して MVC4 アプリケーションでアクション メソッドを呼び出そうとしています。ファンシーボックスに表示される編集フォームのボタンを使用しています:
<input type="button" value="Approve" id="Approve" />
$.post
このボタンのクリックでjqueryを使用しています
$("#Approve").click(function () {
debugger;
var ID = $("#AjaxGrid tbody tr:first").attr("data-pkey");
debugger;
var postParams = { Id: ID }
$.post('@Html.Raw(Url.Action("Approve"))', postParams)
.fail(function () {
alert("error occured while Approving");
});
});
コントローラーでは、以下が私のアクション メソッドです。
[HttpPost]
public ActionResult Approve(long id)
{
Evaluation evaluation = db.EvaluationRepository.GetByID(id);
evaluation.EvaluationStatusID = Convert.ToInt32(EvaluationStatusType.Approved);
return PartialView(evaluation);
}
しかし、私はいつも同じ結果を得ます。error occured while Approving
何が間違っているのかを見つけるのを手伝ってくれる人はいますか?
ブラウザの F12 でこのエラーが発生しました
Failed to load resource: the server responded with a status of 500 (Internal Server Error)
そしてこの厄介な詳細
「/」アプリケーションでサーバー エラーが発生しました。
パラメーター ディクショナリには、'CubicHRMWeb.Areas.Employees.Controllers.EvaluationController' のメソッド 'System.Web.Mvc.ActionResult Approve(Int64)' の null 非許容型 'System.Int64' のパラメーター 'id' の null エントリが含まれています。オプションのパラメーターは、参照型または null 許容型であるか、オプションのパラメーターとして宣言する必要があります。パラメータ名: パラメータ
説明: 現在の Web 要求の実行中に未処理の例外が発生しました。エラーの詳細とコード内のどこでエラーが発生したかについては、スタック トレースを確認してください。
例外の詳細: System.ArgumentException: パラメーター ディクショナリには、'CubicHRMWeb.Areas. Employees.Controllers.EvaluationController'. オプションのパラメーターは、参照型または null 許容型であるか、オプションのパラメーターとして宣言する必要があります。パラメータ名: パラメータ
ソース エラー:
現在の Web 要求の実行中に未処理の例外が生成されました。例外の発生元と場所に関する情報は、以下の例外スタック トレースを使用して特定できます。
スタックトレース:
[ArgumentException: パラメーター ディクショナリに、'CubicHRMWeb.Areas.Employees.Controllers.評価コントローラ」。オプションのパラメーターは、参照型または null 許容型であるか、オプションのパラメーターとして宣言する必要があります。パラメータ名: parameters] System.Web.Mvc.ActionDescriptor.ExtractParameterFromDictionary(ParameterInfo parameterInfo, IDictionary 2 parameters, MethodInfo methodInfo) +654635
System.Web.Mvc.<>c__DisplayClass1.<Execute>b__0(ParameterInfo parameterInfo) +18
System.Linq.WhereSelectArrayIterator
2.MoveNext() +85 System.Linq.Buffer 1..ctor(IEnumerable
1 ソース) +217 System.Linq.Enumerable.ToArray(IEnumerable 1 source) +78
System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary
2 パラメータ) +133 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext、ActionDescriptor actionDescriptor、IDictionary 2 parameters) +27
System.Web.Mvc.Async.<>c__DisplayClass42.<BeginInvokeSynchronousActionMethod>b__41() +28
System.Web.Mvc.Async.<>c__DisplayClass8
1.b__7(IAsyncResult)) +12 System.Web.Mvc.Async.WrappedAsyncResult 1.End() +57
System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult) +50
System.Web.Mvc.Async.<>c__DisplayClass39.<BeginInvokeActionMethodWithFilters>b__33() +58
System.Web.Mvc.Async.<>c__DisplayClass4f.<InvokeActionMethodFilterAsynchronously>b__49() +237
System.Web.Mvc.Async.<>c__DisplayClass37.<BeginInvokeActionMethodWithFilters>b__36(IAsyncResult asyncResult) +12
System.Web.Mvc.Async.WrappedAsyncResult
1.End() +57 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult) +50 System.Web.Mvc.Async.<>c _DisplayClass2a.b_ 20() +24 System.Web.Mvc.Async.<> c_DisplayClass25.b_ 22(IAsyncResult asyncResult) +126 System.Web.Mvc.Async.WrappedAsyncResult 1.End() +57
System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +45
System.Web.Mvc.<>c__DisplayClass1d.<BeginExecuteCore>b__18(IAsyncResult asyncResult) +14
System.Web.Mvc.Async.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) +25
System.Web.Mvc.Async.WrappedAsyncResult
1.End() +62 System.Web.Mvc.Controller. EndExecuteCore(IAsyncResult asyncResult) +61 System.Web.Mvc.Async.<>c _DisplayClass4.b__3(IAsyncResult ar) +25 System.Web.Mvc.Async.WrappedAsyncResult1.End() +62
System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +49
System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult asyncResult) +10
System.Web.Mvc.<>c__DisplayClass8.<BeginProcessRequest>b__3(IAsyncResult asyncResult) +28
System.Web.Mvc.Async.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) +25
System.Web.Mvc.Async.WrappedAsyncResult
1.End() +62 System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +49 System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult 結果) +9 System.Web.CallHandlerExecutionStep.System .Web.HttpApplication.IExecutionStep.Execute() +8862381 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +184
バージョン情報: Microsoft .NET Framework バージョン:4.0.30319; ASP.NET バージョン:4.0.30319.225