有沒有方法可以設置複選框的默認未選中值? 我沒有使用數據綁定控件。 這是傳遞來自表單的數據,並希望它傳遞false而不是null時不選中。設置未勾選的複選框值
回答
是,使用默認HtmlHelpers
將實現這個要求
<%: Html.Checkbox("myCheckbox") %>
或用剃刀
@Html.Checkbox("myCheckbox")
的Checkbox()
方法將呈現一個input type="hidden"
場沿側的輸入type="checkbox"
,將提交值當該複選框未被選中時,選擇「false
」。
<input id="myCheckbox" name="myCheckbox" type="checkbox" value="true" />
<input name="myCheckbox" type="hidden" value="false" />
如果您要提交比false
以外的值,那麼你應該呈現的複選框,並隱藏字段自己的隱藏字段的值設置爲默認值。請注意,它們必須具有相同的名稱屬性。
這可以通過這樣增加一個額外的控制形式來實現:
<input type="hidden" name="checkbox1" value="off">
<input type="checkbox" name="checkbox1" value="on"> My checkbox
你有你的複選框的缺省值的方式應該是不被選中。如果選中該選項,則複選框將覆蓋隱藏字段,因爲此操作複選框,並且隱藏字段必須具有相同的名稱。
你確定嗎?通常當你有兩個同名的元素時,它們會以某種形式的數組發送到服務器。 – 2011-02-24 09:21:20
@Sam是的,這是ASP.NET MVC在使用@ Html.CheckBox()HtmlHelper方法時的做法。 – 2011-02-24 09:55:45
那很方便 – 2011-02-24 10:00:43
我做到了用剃刀,對我的作品
獲得價值
bool CashOnDelivery = Product.CashOnDelivery == null ? false : Convert.ToBoolean(Product.CashOnDelivery);
Razor視圖
@Html.CheckBox("CashOnDelivery", CashOnDelivery) (Not nullable bit)
剃刀不支持可能爲空布爾
在C#側
Insert.CashOnDelivery = Convert.ToBoolean(Collection["CashOnDelivery"].Contains("true")?true:false);
- 1. 如何將複選框的值未勾選設置爲空
- 2. htmlunit:未勾選複選框
- 3. 選中所有複選框,並將勾選複選框的值設置爲'on'jquery
- 4. 已勾選複選框值
- 5. 未勾選複選框的ID
- 6. 勾選複選框
- 7. 如何獲取未勾選的複選框值。與Id條件。
- 8. 從未勾選的複選框(FormCollection)獲取值 - MVC3
- 9. 如何在HTML中提供未勾選的複選框值?
- 10. 默認勾選複選框
- 11. 默認勾選複選框
- 12. 通過勾選複選框
- 13. Yii2複選框列表,未勾選模型值
- 14. 點擊列表項時如何設置勾選複選框?
- 15. 所選複選框的設置值
- 16. 當複選框未選中選項時,如何設置值無?
- 17. 複選框被隨機抽查和未選中時,我勾選複選框
- 18. 設置複選框值
- 19. GET值設置複選框
- 20. 設置複選框值
- 21. 設置複選框值
- 22. 兩個或多個複選框之間沒有未勾選的複選框
- 23. 複選框選中的值未設置爲預期
- 24. 設置值在JavaScript空,未被選定的複選框
- 25. UncheckAll /勾選複選框時,另一個複選框被選中
- 26. 選中所有複選框未點擊它時不勾選
- 27. ng-repeat中勾選的Angularjs複選框
- 28. 當勾選複選框時,禁用其他相同的值複選框
- 29. 勾選/取消勾選複選框時啓用,禁用按鈕
- 30. Javascript在勾選或勾選複選框時使用?
我完全錯過了mvc標籤。衛生署! ;) – Lazarus 2011-02-24 10:50:06
我發現使用隱藏值技術只適用於隱藏的輸入值首先在表單中(僅在Chrome 18上測試)。 – justinl 2012-04-26 05:25:25