将整数数组发布到asp.net web api

3

我有一个类似下面的类,用于发布到asp.net web api:

public class PostData
{

    public int ID { get; set; }

    public int[] SelectedChoiceIDs { get; set; }

}

在我的ApiController中有一个名为"send"的方法,它以"PostData"对象作为参数。
public bool Send(PostData data)
{


}

问题是每当我跟踪Web API方法时,它不会绑定到整数数组即"SelectedChoiceIDs"属性。我该如何强制将整数数组绑定到"SelectedChoiceIDs"属性?
我发送的数据看起来像这样:
{ "ID" : 3 , "SelectedChoiceIDs" : [ 3,4,5,6 ] } 
2个回答

9

您不需要做任何事情,它将直接运行。

如果您提交与提供的完全相同的对象:

{ "ID" : 3 , "SelectedChoiceIDs" : [ 3,4,5,6 ] } 

使用 Content-Type: application/json,默认的模型绑定器会自动选择它。
public class PostData
{

    public int ID { get; set; }

    public int[] SelectedChoiceIDs { get; set; }

}

public void DummyController : ApiController
{
    public void Post(PostData data)
    {
        //data here will be PostData with ID and an array of 4 integers
    }
}

请确保提供正确的Content-Type,并且您确实发布了正确的JSON数据,而不是如下例子:

{data: { "ID" : 3 , "SelectedChoiceIDs" : [ 3,4,5,6 ] } }

-3

这是MVC的答案,问题在于这里是Web API。 - Filip W
问题中有ApiController。同时它被标记为“asp.net-mvc”。 - semao

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接