Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用Web Api控制器参数映射AngularJs查询字符串_Javascript_Asp.net_.net_Angularjs_Asp.net Web Api - Fatal编程技术网

Javascript 使用Web Api控制器参数映射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

以下是我的Angularjs控制器代码:

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