2016-05-23 2 views
2

data.jsWie übergebe ich ein Array von Zeichenfolgen an C# Web API von AngularJS?

Mein Methodenaufruf:

var dateCollection = ["2014-12-12,"2013-12-12"]; 
getCompanyData(1,dateCollection); 

var getCompanyData = function (Id, stmtDate) 
     { 
      var promise = $http.get(baseUrl() + "api/Search/CompanyData/" + Id + "/" + stmtDate) 
       .success(function (data, status, headers, config) { 

        return data; 
       }) 
       .error(function (data, status, headers, config) { 
        return data; 
       }); 

      return promise; 

     } 

SearchController.cs

[ActionName("CompanyData")] 
[HttpGet] 
public async Task<IHttpActionResult> GetCompanyData(string Id , string[] stmtDate) 
{ 
} 

I Array vonsenden müssen(enthält Strings) zu einem GetCompanyData Web-API-Controller.

Mein WebApiConfig.cs hat folgende Route:

config.Routes.MapHttpRoute(
       name: "ApiByMultiParams", 
       routeTemplate: "api/{controller}/{action}/{Id}/{stmtDate}" 
      ); 

Das Problem wird bei dem Versuch, eine Reihe von Daten zu übergeben, wenn sie die Methode Web-API-Controller hits: GetCompanyData, stmtDate nicht das Array empfangen und kommt als null. Auch ich würde alle Vorschläge schätzen, wie man eine Datetime konvertiert, die im Format ist: 2014-12-12 00:00:00 to 2014-12-12 (in AngularJS).

Antwort

1

Sie versuchen, Array am Ende der URL-Zeichenfolge hinzufügen. Send date as parametr

var getCompanyData = function (Id, stmtDate) { 
    var promise = $http.get(baseUrl() + "api/Search/CompanyData/" + Id, { 
      params: { 
       date: stmtDate 
      } 
     } 
    ).success(function (data, status, headers, config) { 

      return data; 
     }) 
     .error(function (data, status, headers, config) { 
      return data; 
     }); 

    return promise; 

} 
+0

ich habe das versucht, aber ich habe 404 error.soll ich webapiconfig.cs entsprechend ändern, wenn ich diesen Weg geben will? – sujai

+0

Ja sollte es 'api/{Controller}/{Aktion}/{Id}' – aseferov

+0

Wie würde es meinen zweiten Parameter StmtDate nehmen, wenn ich nur ID in der Webapiconfig gebe? – sujai

Verwandte Themen