【问题标题】:Checkbox binding in MVCMVC 中的复选框绑定
【发布时间】:2020-02-26 13:34:45
【问题描述】:

好的,所以我在视图中有这个复选框:

<input type="checkbox" name="IsInvestment" @(Model.IsInvestment ? "checked value=true" : "value=false") />

绑定到

public Bool IsInvestment { get; set;}

它不会绑定,除非我把它放在 JS 中:

 $("input[type='checkbox']").change(function () {
        $(this).val($(this).is(":checked"));
 });

基本上,每次选中/取消选中输入时,我都会在输入类型复选框的值中写入“true”或“false”。

附:它是一个材质复选框

我不记得以前做过这个,当我使用 Html.CheckboxFor .....

我做错了什么?

【问题讨论】:

  • 当您使用Html.CheckboxFor 时,它没有使用value 属性。它使用checked 属性来确定绑定属性的值是真还是假。
  • 我仍然有选中的属性,但没有 value=true 或 value=false 它不会绑定。很奇特!
  • “它不会绑定”不清楚。同样不清楚的是为什么您不只使用Html.CheckboxFor,这将确保绑定对您有效。
  • 即使复选框被选中,它也不会绑定=,在模型中它是假的。 (嘟嘟)

标签: javascript jquery html asp.net-mvc


【解决方案1】:

这可能会解决您的问题

<input type="checkbox" name="IsInvestment" @(IsInvestment==true ? "checked": "") />

【讨论】:

  • 不幸的是这还不够,我只尝试了检查,它不起作用。它需要明确地 value="true"。我相信这是因为它是 Materialize 框架中的一个复选框(我猜它与引导复选框相同)
猜你喜欢
  • 2016-05-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-22
  • 2013-03-06
  • 2014-06-03
相关资源
最近更新 更多