如何将字符串数组从AngularJS传递到C#web api?
data.js 我的方法调用:如何将字符串数组从AngularJS传递到C#web api?,c#,angularjs,asp.net-web-api,C#,Angularjs,Asp.net Web Api,data.js 我的方法调用: var dateCollection = ["2014-12-12,"2013-12-12"]; getCompanyData(1,dateCollection); SearchController.cs [ActionName("CompanyData")] [HttpGet] public async Task<IHttpActionResult> GetCompanyData(string Id , string[] stmtDate) {
var dateCollection = ["2014-12-12,"2013-12-12"];
getCompanyData(1,dateCollection);
SearchController.cs
[ActionName("CompanyData")]
[HttpGet]
public async Task<IHttpActionResult> GetCompanyData(string Id , string[] stmtDate)
{
}
问题是,当试图传递一个数据数组时,当它点击web API控制器方法:
GetCompanyData
,stmtDate
不接收该数组,并且该数组显示为null
。另外,如果您能就如何将日期时间转换为以下格式提出建议,我将不胜感激:2014-12-12 00:00:00至2014-12-12
(AngularJS)。您正在尝试在url字符串的末尾添加数组。将日期作为参数发送
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;
}
我尝试了这个方法,但是我得到了404错误。如果我想这样做,我应该相应地修改webapiconfig.cs吗?如果我只在webapiconfig中提供Id,我的第二个参数stmtDate将如何使用?
config.Routes.MapHttpRoute(
name: "ApiByMultiParams",
routeTemplate: "api/{controller}/{action}/{Id}/{stmtDate}"
);
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;
}