我将WebAPI合并到我的开发中,并将所有表单提交发布到WebAPI控制器。我注意到复选框没有正确绑定到模型。我有一个表单使用:ASP.Net MVC 4的WebAPI不能正确地绑定复选框?
@Html.CheckBoxFor(m => m.HasVideo)
它产生一个复选框和一个隐藏的表单元素。当我检查复选框(意思是“真”值)时,我的WebAPI Post中的模型绑定反映了HasVideo属性的错误。我将整个方法移到了传统的mvc控制器上,并且绑定按预期工作。
有没有这方面的解决方法,或者是否有我失踪的东西?
看到这个职位,解决了清除视图数据。也许这是同样的问题。 http://stackoverflow.com/questions/11993424/asp-net-mvc3-checkboxform-m-go-is-unchecked-even-though-my-model-go-is-t – 2012-08-16 23:00:28
链接SO帖子中的问题是OP不知道如何绑定输入控件的html助手。当使用Html助手进行输入控件时,他们有一个订单,如果模型在错误发回到视图后,助手将始终呈现原始发布的数据,而不是模型可能包含的任何数据。这是故意保留提交失败时的输入。这就是清除模型状态解决问题的原因。但是,这个问题听起来不像在正常控制器中的绑定是正常的,但不是在WebAPI控制器中。 – Nope 2012-08-16 23:51:28
服务器上的Request.Form中的复选框的值是否正确? – 2012-08-17 05:02:06