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 ] } 
4

2 回答 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
    }
}

Make sure you provide the Content-Type, and that you are indeed posting correct JSON, not for example:

{data: { "ID" : 3 , "SelectedChoiceIDs" : [ 3,4,5,6 ] } }
于 2013-01-11T19:37:56.477 回答
-3

模型中的ASP.NET MVC 绑定数组可能重复

是解释您必须做什么的博客文章。

于 2013-01-11T19:01:31.237 回答