Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将字符串数组从AngularJS传递到C#web api?_C#_Angularjs_Asp.net Web Api - Fatal编程技术网

如何将字符串数组从AngularJS传递到C#web api?

如何将字符串数组从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) {

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)
{
}

问题是,当试图传递一个数据数组时,当它点击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;

}