2014-05-22 79 views
0

我正在開發ASP.NET WebApi/AngularJS項目。現在我想要顯示一個表格。去'/ api/Auftraege'顯示Json數據。但「/ API/Auftaege /指數」帶來了這個錯誤:WebApi AngularJS「請求無效」錯誤

{"Message":"The request is invalid.","MessageDetail":"The parameters dictionary contains a null entry for parameter 'id' of non-nullable type 'System.Int32' for method 'System.Threading.Tasks.Task`1[System.Web.Http.IHttpActionResult] GetKDAuftraege(Int32)' in 'Vis3.Controllers.AuftraegeController'. An optional parameter must be a reference type, a nullable type, or be declared as an optional parameter."} 

所以我試圖改變「ID」的屬性中的.edmx圖到「可爲空=真」,是因爲沒有與零條目。那沒有用。
任何想法我可以做什麼?我是否缺少數據庫以外的其他東西?也許app.js中的文件路徑?

以防萬一......

app.js:

function ListCtrl($scope, $http) { 

    $scope.data = []; 
    $http.get("/api/Auftraege/GetKDAuftraeges") 
    .then(function (result) { 

     // Success 
     angular.copy(result.data, $scope.data); 
    }, 
    function() { 

     // Error 
     alert("Error"); 
    }); 

} 

的WebAPI - 控制器:

// GET api/Auftraege 
     [HttpGet] 
     public IEnumerable<KDAuftraege> GetKDAuftraeges() 
     { 
      var result = db.KDAuftraeges.Take(50).ToList(); 

      return result; 
     } 

的Index.cshtml中的NG-重複(如果我運行Index.cshtml,那麼來自命名爲ListCtrl的角度控制器的錯誤警報彈出):

<tr ng-repeat="i in data"> 
    <td>{{i.AngebotsNummer}}</td> 
    <td>{{i.VerkaeuferName}}</td> 
    <td>{{i.Bezeichnung}}</td> 
</tr> 

回答

1

如果這是WebApi REST服務,則不需要或必須包含該方法的名稱。你只能參考沒有詞控制器的控制器類,像這樣:

$http.get("/api/Auftraege").then(function(){}); 
+0

非常感謝,工作!但是我的app.js中也有一個錯誤,我錯過了將結果傳遞給函數:-) – oldsport