【问题标题】:Why can't I have multiple get methods in asp.net webapi为什么我在 asp.net webapi 中不能有多个 get 方法
【发布时间】:2018-11-01 13:20:42
【问题描述】:

我正在使用 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;

}

【问题讨论】:

    标签: angularjs asp.net-web-api


    【解决方案1】:

    您可以将类别作为 url 的一部分传递,因此将您的方法更改为

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-27
      • 2017-05-19
      • 1970-01-01
      • 2021-11-30
      • 1970-01-01
      • 1970-01-01
      • 2016-08-31
      • 1970-01-01
      相关资源
      最近更新 更多