data.jsКак передать массив строк в C# web api из AngularJS?
Мой метод вызова:
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)
{
}
Мне нужно отправить массив stmtDate
(который содержит строки) для контроллера веб-API GetCompanyData
.
Мой WebApiConfig.cs
имеет следующий маршрут:
config.Routes.MapHttpRoute(
name: "ApiByMultiParams",
routeTemplate: "api/{controller}/{action}/{Id}/{stmtDate}"
);
Проблема, в то время как пытается передать массив данных, когда она попадает метод веб-контроллер API: GetCompanyData
, stmtDate
не получает массив и подходит как null
. Также я был бы признателен за любые предложения о том, как преобразовать дату и время, которое находится в формате: 2014-12-12 00:00:00 to 2014-12-12
(в AngularJS).
Я пробовал это, но у меня 404 ошибка. Мне нужно изменить webapiconfig.cs соответственно, если я хочу дать этот путь? – sujai
да, это должно быть 'api/{controller}/{action}/{Id}' – aseferov
, как бы это взяло мой второй параметр stmtDate, если я даю только Id в webapiconfig? – sujai