有没有方法可以设置复选框的默认未选中值? 我没有使用数据绑定控件。 这是传递来自表单的数据,并希望它传递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