【问题标题】:How to Pass default values as False of checkBox to controller action in asp.net mvc4如何将默认值作为复选框的 False 传递给 asp.net mvc4 中的控制器操作
【发布时间】:2019-03-05 20:19:23
【问题描述】:

我想将复选框的默认值设置为 False。如果复选框被选中,则将 true 否则 false 传递给 Controller。

这是我的观点

 <div class="form-group">
  @Html.CheckBox("Stratling", (Model != null && Model.Stratling.HasValue) ? 
      Model.Stratling : true)
   <label>
      Stratling
   </label>
 </div>

当未选中复选框时,此代码将 true 值传递给控制器​​。
我想要它作为假值。

谁能指引我正确的方向。

提前致谢。

【问题讨论】:

  • 你不能那样做。如果未选中复选框,则 HTML 表单不会提交任何内容。所以如果你什么也没收到,你可以假设它是假的。
  • @LukeVo MVC 助手添加隐藏输入,以便也提交未检查的值。
  • This code pass true value to controller when checkbox is not checked 这不应该发生。你为什么要跳这么多圈来设置复选框,@Html.CheckBoxFor(m =&gt; m.Stratling) 应该可以工作
  • @Liam 那么如何设置编辑时的值呢?

标签: c# asp.net-mvc-4 razor


【解决方案1】:

如果你使用Html.CheckBoxFor方法,它渲染出来的是:

当未选中复选框时,它返回 False。当复选框被选中时,它返回 True,False 并且内部框架将其解析为 true。您可以通过添加具有 False 值的隐藏字段来使用相同的方法,并进行适当的处​​理。

【讨论】:

    猜你喜欢
    • 2013-09-22
    • 1970-01-01
    • 1970-01-01
    • 2012-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多