Javascript 使用Web Api控制器参数映射AngularJs查询字符串
以下是我的Angularjs控制器代码:Javascript 使用Web Api控制器参数映射AngularJs查询字符串,javascript,asp.net,.net,angularjs,asp.net-web-api,Javascript,Asp.net,.net,Angularjs,Asp.net Web Api,以下是我的Angularjs控制器代码: app.controller('listAdsController', ['$scope', 'myService', '$routeParams', '$location', function ($scope, myService, $routeParams, $location) { myService.getAdsByCategory({categoryId : $routeParams.categoryId}); $scope.totalIte
app.controller('listAdsController', ['$scope', 'myService', '$routeParams', '$location', function ($scope, myService, $routeParams, $location) {
myService.getAdsByCategory({categoryId : $routeParams.categoryId});
$scope.totalItems = 64;
$scope.pageChanged = function () {
var path = $location.path();
$location.path(path).search('page', $scope.currentPage);
};
$scope.maxSize = 10;
$scope.bigTotalItems = 175;
$scope.currentPage= 1;
$scope.itemsPerPage = 50;
}]);
在这里的pageChanged
函数中,我尝试使用如下查询字符串根据页码更改我的Url:
//localhost/category/property/4/出租房屋?第2页
以下是该Url的路由配置:
$routeProvider.when("/category/:category/:categoryId/:urlName", {
controller: "listAdsController",
templateUrl: "app/views/category-ads.html"
});
下面是我的Web Api 2控制器:
[HttpGet]
public IHttpActionResult GetAllByCategory([FromUri] int categoryId, int? page = null)
{
//Code
}
问题是,
page
参数总是null
,无论我在其中传递什么。有人能告诉我这里缺少什么吗?问题很小。我只是将查询字符串传递到url,但没有从routeParam
获取它
解决办法是:
$scope.categoryAds = jetService.getAllByCategory({ categoryId: $routeParams.categoryId, page: $routeParams.page });
您需要从查询字符串中获取
页面
,并将其传递给您的服务 问题很小。我只是将查询字符串传递到url,但没有从routeParam
获取它
解决办法是:
$scope.categoryAds = jetService.getAllByCategory({ categoryId: $routeParams.categoryId, page: $routeParams.page });
您需要从查询字符串中获取
页面
,并将其传递给您的服务 试试Localhost/GetAllByCategory/1/2,如果可以的话,我可以很好地解释为什么您的问题缺少一些重要的部分:您的Angular代码如何调用Web API以及如何配置Web API路由?您发布的代码不调用API。它只路由到具有模板app/views/category-ads.html
的视图,并将listAdsController
分配给它(一个角度控制器,而不是Web API控制器)。@venerik我使用myServicetry Localhost/GetAllByCategory/1/2获取Web API,如果可以的话,我有一个很好的解释来解释为什么你的问题缺少一些重要的部分:你的Angular代码是如何调用Web API的,以及Web API路由是如何配置的?您发布的代码不调用API。它只路由到具有模板app/views/category-ads.html
的视图,并将listAdsController
分配给它(一个角度控制器,而不是Web API控制器)。@venerik我正在使用我的myService获取WebApi