RequestsController
いくつかのアクションを持つコントローラー ( ) があります (すべて 1 つのパラメーターを取ります)
例えば:
public List<Models.AcceptRequests> GetAllAcceptRequests(int passedId)
public List<Models.Requests> GetAllRequests(int passedId)
public List<Models.CancelRequests> GetAllCancelRequests(int passedId)
これらの各アクション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
他のアクションと競合するパラメーターに関係なく、a を呼び出すことができると理解しています。では、そうではないでしょうか。
controller
action
それぞれに一意の数のパラメーターを指定せずに、 それぞれを呼び出すにはどうすればよいですか?
編集:
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 }
);
}