У меня есть контроллер (RequestsController
) с несколькими действиями (все принимает один параметр)JQuery Ajax - вызвать различные MVC действия контроллера
Например:
public List<Models.AcceptRequests> GetAllAcceptRequests(int passedId)
public List<Models.Requests> GetAllRequests(int passedId)
public List<Models.CancelRequests> GetAllCancelRequests(int passedId)
Я c Alling каждого из этих действий от jQuery
ajax
следующим образом:
var s = { passedId: 0, } $.ajax({ url: "../api/Requests/GetAllAcceptRequests", type: "GET", dataType: 'json', data: JSON.stringify(s), contentType: "application/json; charset=utf-8", success: function (response) { vm.Requests(ko.utils.unwrapObservable(ko.mapping.fromJS(response))); } });
Я получаю следующее сообщение об ошибке:
Multiple actions were found that match the request: System.Collections.Generic.List1 [TCMSWeb.Models.Requests] GetAllRequests(Int32)
Это мое понимание того, что вы можете позвонить в controller
action
независимо от параметров противоречащих другие действия. Разве это не так?
Как я могу назвать каждый controller
action
без указания уникального количества параметров для каждого?
EDIT:
public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
Можете ли вы показать конфигурации маршрутизации? – Stijn