ASP.Net MVC 4的WebAPI没有正确绑定复选框?

Tom*_*eck 9 asp.net-mvc asp.net-mvc-3 asp.net-web-api

我正在将WebAPI合并到我的开发中,并将所有表单提交发布到WebAPI控制器.我注意到复选框没有正确绑定到模型.我有一个表格使用:

@Html.CheckBoxFor(m => m.HasVideo)
Run Code Online (Sandbox Code Playgroud)

它会生成一个复选框和一个隐藏的表单元素.当我选中复选框(表示"true"值)时,我的WebAPI Post中的模型绑定反映了HasVideo属性的false.我将整个方法移动到传统的mvc控制器,绑定按预期工作.

有没有针对此的解决方法,或者是否有一些我缺少的东西?

Cht*_*lek 7

不要使用这个HTML帮助:

@Html.CheckBoxFor(m => m.HasVideo)
Run Code Online (Sandbox Code Playgroud)

试试这个:

<input id="HasVideo" name="HasVideo" type="checkbox" value="true" @(((Model!=null) && Model.HasVideo) ? "checked=\"checked\"" : "" ) />
Run Code Online (Sandbox Code Playgroud)