[英]ASP.NET MVC checkbox always false
我做了一个 asp.net 网站,但复选框总是错误的。 为什么会这样?
型号:
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
属性始终为假,如果选中该复选框,则Remember
仍然为假。
我遇到了同样的问题,我通过编写 html checkbox 标签来修复它,给它命名与属性名称相同的名称,并且 value = true,如果未选中复选框,则无需担心,因为无论如何它都不会提交,在您的情况就是这样
<input type="checkbox" name="Remember" value="true" />
使用 Razor,我遇到了同样的问题。 对我有用的是去掉value="xxx"
标签。 然后就正常运行了。
不工作:
<input class="form-check-input" value="true" asp-for="Answer.aIsCorrect" />
作品:
<input class="form-check-input" asp-for="Answer.aIsCorrect" />
第一个参数不是复选框值,而是复选框的视图模型绑定,因此:
@Html.CheckBoxFor(m => m.SomeBooleanProperty, new { @checked = "checked" }); 第一个参数必须标识模型中的布尔属性(它是一个表达式,而不是返回值的匿名方法),第二个属性定义任何其他 HTML 元素属性。 我不是 100% 确定上述属性最初会检查您的复选框,但您可以尝试。 但要小心。 即使它可能工作,您稍后可能会遇到问题,当加载有效的模型数据并且该特定属性设置为 false 时。
来源和附加信息: https : //stackoverflow.com/a/12674731/3397630
希望对您有所帮助,请让我知道您的想法或反馈
谢谢卡西克
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.