C#如何发布对象从角到 webapi 控制器

发布时间: 2017/2/24 2:48:35
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我创建了一个使用 pdfsharp 的 pdf。我需要将图表图例 data(name,color) 传递给 pdfsharp 控制器。我使用的一个角 $http 帖子,ajax 邮政以及会没事。我得到的错误是

Request URL:http://localhost:46691/api/exportChartPdf/[object%20Object],[object%20Object],[object%20Object],[object%20Object],[object%20Object],[object%20Object],[object%20Object],[object%20Object],[object%20Object],[object%20Object],[object%20Object],[object%20Object],[object%20Object],[object%20Object],[object%20Object],[object%20Object]

我需要一些如何通过它作为一个字符串?它了,所以如何将我将它解析在 api 控制器回到路上?

我试图传递回的对象

0: Object
     color: "rgb(67,134,215)"
     name: "Fleming Place - Miscellaneous Spec Builders"
__proto__: Object
1: Object
2: Object
3: Object
4: Object

javascript

 var legendModel = $scope.seriesData.map(function (a) {
            return {
                color: a.color,
                name: a.name
            };
        });
        $http.post('/api/exportChartPdf/' + legendModel);

api 控制器

 [HttpPost]
    public PDF Post() // allow nullable parameter
    {

        try
        {

解决方法 1:

你应该张贴对象窗体主体,而不是查询字符串。 此外,您的 Web API 控制器应接收镜像中你正在传递的数据的强类型的对象。

public class Data
{
    public string Color { get; set; }
    public string Name { get; set; }
}

[HttpPost]
public PDF Post([FromBody]List<Data> data) 
{
    ... 
}

然后简单地张贴的对象。

var legendModel = $scope.seriesData.map(function (a) {
        return {
            color: a.color,
            name: a.name
        };
    });

$http.post('/api/exportChartPdf/', legendModel);
赞助商