jQuery Ajaxリクエストを使用してウェブグリッドをフィルタリングしていますが、いくつかのウェブグリッドといくつかのajaxリクエストがあります。各Ajaxリクエストは同じActionResultメソッドを呼び出しますが、異なるパラメーターを渡します。アイデアは、私が提供するパラメーターに基づいて正しいメソッドが呼び出されるということです。しかし、これはそうではありません。
このエラーが発生します:
The current request for action 'FilterGrid' on controller type 'UserManagerController' is ambiguous between the following action methods:<br>System.Web.Mvc.ActionResult FilterGrid(Int32, Int32, System.String, System.String, Int32, System.String) on type UserManager.Controllers.UserManagerController<br>System.Web.Mvc.ActionResult FilterGrid(System.String) on type UserManager.Controllers.UserManagerController
私のjQuery
function filterGrid() {
var filters = getFilterVals();
$.ajax({
url: '@Url.Action("FilterGrid", "UserManager")',
type: "POST",
async: true,
dataType: "html",
data: "group=" + filters.group,
success: function (data) {
$('#webgrid-wrapper').empty().html(data);
},
error: function (data) {
}
});
}
私のコントローラーコード
[HttpPost]
public ActionResult FilterGrid(int alf, int brad, string username, string group, int isactive, string email)
{
List<UserManager.Models.vw_UserManager_Model> modelList = DAL.getGridUsers(alf, brad, username, group, isactive, email);
switch (alf)
{
case 1:
Session["chkBoxAlf"] = 1;
break;
case 0:
Session["chkBoxAlf"] = 0;
break;
}
switch (brad)
{
case 1:
Session["chkBoxBrad"] = 1;
break;
case 0:
Session["chkBoxBrad"] = 0;
break;
}
switch (isactive)
{
case 1:
Session["chkBoxIsActive"] = 1;
break;
case 0:
Session["chkBoxIsActive"] = 0;
break;
}
Session["txtFilterUsername"] = username;
Session["txtFilterGroup"] = group;
Session["txtFilterEmail"] = email;
return PartialView("~/Views/Partial/_WebGridUserManagerUsers.cshtml", modelList);
}
[HttpPost]
public ActionResult FilterGrid(string group)
{
return PartialView("~/Views/Partial/_WebGridUserManagerGroups.cshtml");
}
私のブレークポイント
[HttpPost]
public ActionResult FilterGrid(string group)
{
return PartialView("~/Views/Partial/_WebGridUserManagerGroups.cshtml");
}
ヒットしません。誰かがこれを解決する方法を知っていますか?