我將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