遇到一個神秘的問題 沒辦法將CheckBox是否勾選的狀態傳送給後端
一直想把checkBox是否勾選的狀態傳送到後端 一直失敗
終於找到解決方法
<input type="checkbox" name="flag" value="true"/>
重點在於value="true"就可以解決此問題
我們可以由[1]來測試驗證一下
當我都不勾選時 送出會發生什麼情況呢?
後端網頁就接不到任何的值!
那如果我只對其中一個打勾呢?
那麼後端只能拿到有打勾的那個check的值
所以我只要將Value預設為true 而後端負責接取的參數設為bool
那麼只要我有傳值 就會被改為true 沒有傳到 bool就會預設為false
這樣就能達成判斷checkBox是否有勾選的問題拉
在[2]也有提到一段描述
This will work because when the checkbox is checked, the postback will contain
checkResp=true
,and if the checkbox is not checked the parameter will default to false.也就是說當checkBox 有勾選時 會將value一起傳送到後端 沒勾選時 就什麼都不送 那麼後端的參與就是預設為fasle拉
Reference
1.https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_input_checked
2.https://stackoverflow.com/questions/18862712/pass-values-of-checkbox-to-controller-action-in-asp-net-mvc4