Ach*_*him 5 c# asp.net-mvc model-binding xmlserializer asp.net-web-api
我正在使用新的WebApi,它是MVC4 beta的一部分.我有以下课程:
public class Voucher
{
public string Id { get; set; }
public string TableId { get; set; }
public Product[] Products { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我的控制器看起来像这样:
public class VouchersController : ApiController
{
public Voucher PostVoucher(Voucher voucher)
{
//....
}
}
Run Code Online (Sandbox Code Playgroud)
在客户端,我使用一个序列化数据XmlSerializer.输出看起来像预期的并且Products数组是序列化的.如果我发布的数据,并把一个破发点中PostVoucher的方法,我得到的数据Id和TableId,但Products是null.什么提示我可能做错了什么?
ASP.NET Web API Beta中的复杂类型和XML的模型绑定/反序列化存在问题.解决此问题的一种方法是"禁用"模型绑定,并为此操作选择"反序列化路径".http://blogs.msdn.com/b/carlosfigueira/archive/2012/02/27/disabling-model-binding-on-asp-net-web-apis-beta.aspx上的帖子展示了如何做到这一点.
请注意,这是beta的已知问题,将在下一个(RC)版本中修复.