2013-01-11 53 views
3

的发帖阵列我有一个像下方的类张贴到asp.net网页API整数asp.net网页API

public class PostData 
{ 

    public int ID { get; set; } 

    public int[] SelectedChoiceIDs { get; set; } 

} 

在我ApiController有一种方法叫发送它得到PostData对象作为参数。

public bool Send(PostData data) 
{ 


} 

的问题是每当我追溯方法的Web API不绑定到整数数组,就是SelectedChoiceIDs财产。我如何强制将整数数组绑定到“SelectedChoiceIDs”属性?

我送的数据是一样

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

回答

7

你不需要做任何事情,这可以开箱即用。

如果您发布您提供的确切的对象:

{ "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

ASP.NET MVC bind array in model

Here可能dupplicate是博文解释,你必须做的事情。

+0

这就是MVC的答案,这里的问题是网络API –

+0

有ApiController在题。它也被标记为“asp.net-mvc”。 – semao