我有一个类似下面的类发布到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 ] }
答案 0 :(得分:8)
你不需要做任何事情,这将开箱即用。
如果你发布了你提供的确切对象:
{ "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 ] } }
答案 1 :(得分:-3)
可能重复 ASP.NET MVC bind array in model
Here是博客文章,解释了你必须做的事情。