ASP.NET MVC复选框始终为false

时间:2017-05-23 12:33:47

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

我创建了一个asp.net网站,但复选框始终为false。为什么会这样?

型号:

 public string Username { get; set; }
 public string Password { get; set; }
 public bool Remember { get; set; }

CSHTML:

<div class="form-group">
    @Html.Label("Remember me?")
    @Html.CheckBoxFor(m => m.Remember)
 </div>

Remember属性始终为false,如果选中该复选框,则Remember仍为false。

3 个答案:

答案 0 :(得分:8)

我遇到了同样的问题,我通过编写html checkbox标签来修复它,给它命名与属性名称相同,而value = true,如果未选中该复选框则无需担心,因为它无论如何都不会被提交, 在你的情况下,这将是它

<input type="checkbox" name="Remember" value="true" />

答案 1 :(得分:3)

有了剃刀,我遇到了同样的问题。对我有用的是摘下value="xxx"标签。然后它正常运行。

不是 有效吗?

 <input class="form-check-input" value="true" asp-for="Answer.aIsCorrect" />

作品:

 <input class="form-check-input" asp-for="Answer.aIsCorrect" />

答案 2 :(得分:0)

第一个参数不是复选框值,而是查看复选框的模型绑定:

@ Html.CheckBoxFor(m =&gt; m.SomeBooleanProperty,new {@checked =“checked”}); 第一个参数必须标识模型中的布尔属性(它是表达式而不是返回值的匿名方法),第二个属性定义任何其他HTML元素属性。我不是100%确定上述属性最初会检查您的复选框,但您可以尝试。但要注意。即使它可能有效,但在加载有效的模型数据并且该特定属性设置为false时,您可能会遇到问题。

来源和其他信息: https://stackoverflow.com/a/12674731/3397630

希望它对您有所帮助,请告诉我您的想法或反馈

由于 KARTHIK