我的模型在传递给View时将我的bool属性显示为false,但视图显示按钮处于“已检查”状态,尽管当我通过控制器提交表单时,基础状态仍为false ...任何想法?
这是我的index.cshtml
<script type="text/javascript">
$(document).ready(function(){
$(".chk").button();
});
</script>
@Html.CheckBoxFor(m => m.IsAnyDateJoined, new { @class="chk" })
@Html.LabelFor(m => m.IsAnyDateJoined)
所以,正如所解释的那样,为什么我的模型显示IsAnyDateJoined(bool = false),虽然我看到'checked / true'复选框状态,但基础模型bool仍然呈现为false ??
IsAnyDateJoined: False
从UI角度来看非常混乱。任何帮助非常感谢。
答案 0 :(得分:0)
我认为此论坛主题可以回答您的问题:http://forums.asp.net/t/1314753.aspx
当您提交带有复选框的表单时,仅在以下情况下发布该值 选中该复选框。所以,如果你不选中复选框,那么 在很多情况下你都不会将任何内容发送到服务器 希望错误发送。由于隐藏输入具有相同的名称 作为复选框,如果未选中该复选框,您仍然会得到一个 'false'发送到服务器。
选中该复选框后,ModelBinder将自动获取 关心从'true,false'中提取'true'