我有一个类似下面的类,用于发布到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 ] }
发布于 2013-01-12 03:37:56
您不需要做任何事情,这将开箱即用。
如果您发布的对象与您提供的完全相同:
{ "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 ] } }
发布于 2013-01-12 03:01:31
可能的ASP.NET MVC bind array in model副本
Here是一篇博客文章,解释了你必须做的事情。
https://stackoverflow.com/questions/14284244
复制相似问题