我正在開發一個使用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控制器中。