我创建了一个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。
答案 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