为什么我不能在asp.net webapi中有多个get方法

时间:2014-12-25 04:07:00

标签: angularjs asp.net-web-api

我正在使用AngularJS和WebAPI构建一个小应用程序。

用例:我将一个字符串参数从下拉ng-change事件传递给controller.js中的一个名为getcatdetails(selectedcategory)的函数,service.js调用WEBAPI。

问题:当我在WEB API中添加其他方法时,代码不会被触发。当我在控制器和Service.js中设置断点时,它看起来很好,但从Service到WEBAPI不会发生调用。

这是代码..

HTML:

<select ng-model="selectedcategory" ng-options="item for item in catlist" ng-change="getcatdetails(selectedcategory)">
    <option value="">Select</option>
</select>

Controller.js

 $scope.getcatdetails = function (selectedcategory) {
    var catdetails = CategoryService.getcatdetails(selectedcategory);
 }

Service.js

this.getcatdetails= function (selectedcategory) {
    return $http.get("/api/ProductAPI/getcatdetails" + selectedcategory);
}

WEB API方法

[Route("/api/ProductAPI/getcatdetails")]
public string getcatdetails(string selectedcategory)
{
    return selectedcategory;
}

请帮助我......我完全被击中了


这是我试过的,我仍然无法调用WEB API方法..

Service.js

 this.getcatdetails = function () {
   return $http({ method: 'GET', url: 'api/productapi/getcatdetails', data: '"' + selectedcategory + '"' })
}


WEB API Method..

    [Route("api/ProductAPI/getcatdetails/{selectedcategory}")]
   public string getcatdetails(string  selectedcategory){

       return selectedcategory;

}

1 个答案:

答案 0 :(得分:1)

您可以将该类别作为网址的一部分传递,以将您的方法更改为

[Route("api/ProductAPI/getcatdetails/{selectedcategory} ")]

public string getcatdetails(string selectedcategory)
{
    return selectedcategory;
}