[前端]CheckBox傳值到後端

遇到一個神秘的問題  沒辦法將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