我正在开发一个使用ASP.Net Web API的应用程序并配置应用程序路由,我遵循this方法。但在我的应用程序中,我想要的网址如下所示。 “http:// localhost/MY/api/user/AllGridData/false/1342006446883/10/1/Id/desc”如何在ASP.Net中正确路由WebAPI
我在浏览器窗口中手动输入了这个URL,并且触发了AllGridData方法。但是当我从应用程序访问它时,它会尝试像下面那样访问URL。 “HTTP://本地主机/ MY/API /用户/ AllGridData _search =假& ND = 1342006446883个&行= 10 &页= 1 & SIDX =编号& SORD = desc” 的
所以那么AllGridData方法是由于以下例外情况未被解雇。 无法加载资源:服务器响应状态为400(错误请求)“http:// localhost/MY/api/user/AllGridData?_search = false & nd = 1342006446883 & rows = 10 & page = 1 & sidx = Id & sord = desc“
我在RouterConfig.cs中为此URL进行路由就是这样的。
routes.MapHttpRoute(
name: "LoadGridApi",
routeTemplate: "api/{controller}/{action}/{_search}/{nd}/{rows}/{page}/{sidx}/{sord}",
defaults: new { _search = UrlParameter.Optional, nd = UrlParameter.Optional, rows = UrlParameter.Optional, page = UrlParameter.Optional, sidx = UrlParameter.Optional, sord = UrlParameter.Optional }
);
希望你明白这个问题。最终我想要的是像下面的URL,所以然后它的AllGridData方法被激发。 “http:// localhost/MY/api/user/AllGridData/false/1342006446883/10/1/Id/desc”
我在做什么错?是否因为路由代码错误?
我的AllGridData方法位于WebAPI控制器中,不在MVC控制器中。