【问题标题】:CheckBoxFor generating wrong HTMLCheckBoxFor 生成错误的 HTML
【发布时间】:2014-04-18 06:35:56
【问题描述】:

我想在 MVC4 中使用这个复选框,它会生成复选框和隐藏字段,我已经给复选框选中并且它的值是 true,但是隐藏字段的值是 false,我不知道有什么问题?

@Html.CheckBoxFor(m => m.OrganisationClient.IsActive, new { @Id = "chkIsActive", @Value = true, @Class = "disp-none",@checked = "checked"})

<input name="OrganisationClient.IsActive" type="hidden" value="false"><input class="disp-none" id="chkIsActive" value="True" data-val="true" data-val-required="The IsActive field is required." name="OrganisationClient.IsActive" type="checkbox">

【问题讨论】:

  • 隐藏字段助手在哪里
  • 您是从模型中检查还是通过单击设置它?
  • 隐藏字段由 checkboxfor 生成
  • ok 意味着我改变了我的模型值??
  • 您不需要通过 htmlattributes @Value = 设置值,该值将从您的视图模型属性 IsActive 中获取

标签: javascript jquery html asp.net-mvc-4


【解决方案1】:

应该是这样的,没错

不会提交表单内未选中的输入 type='checkbox',因此添加了 value = False 的隐藏输入,因此您不会在 post 操作中得到 null 而不是 false


隐藏字段将始终为 false 并且输入 type=checkbox 为 true,如果您的模型的属性 (isActive) 为 true,则会检查该复选框

【讨论】:

  • 我没听懂你想说什么,请你解释一下
【解决方案2】:

看起来你的模型属性是 bool 所以当复选框选中模型属性有true如果没有选中它有false这就是隐藏字段发布值false的原因。

public bool IsActive {get;set;}

【讨论】:

  • 我在模型属性中传递了 true,但在隐藏字段中仍然是 false
  • 你看到复选框被选中了吗?
猜你喜欢
  • 1970-01-01
  • 2018-11-10
  • 1970-01-01
  • 2010-09-18
  • 1970-01-01
  • 1970-01-01
  • 2014-11-05
  • 2021-08-16
  • 2015-08-16
相关资源
最近更新 更多