【发布时间】:2018-01-28 06:29:43
【问题描述】:
我正在编写一个 MVC ASP.Net Core 网站,并且有一个复选框。我花了好几个小时认为我的绑定是错误的,因为我可以保存该值并将其放入数据库,但用户的视图总是显示一个未选中的复选框。我终于在 Chrome 开发工具中查看了呈现的 HTML 和这个复选框:
<input data-val="true" data-val-required="The Show Profile Picture field is required." id="ShowProfilePic" name="ShowProfilePic" type="checkbox" value="true">
该值为真,就像它在数据库中一样,但在浏览器中,复选框未选中。它在 Model 和 ViewModel 中查看的值都是布尔值。有什么想法吗?
【问题讨论】:
-
您应该为复选框使用
checked属性 -
ShowProfilePic的值决定了它是否被选中。如果它的true(当您在 GET 方法中将模型传递给视图时),则复选框将被选中,否则不会。这就是模型绑定的工作原理(该方法根据属性的值添加checked属性)