在我看来,我有一个 bool 字段的复选框,如下所示:
=Html.CheckBox("Active", ViewData["Active"] != null ? ViewData["Active"] : (ViewData.Model.Active != null ? ViewData.Model.Active : false)
如果你喜欢,你可以忘记绒毛:
=Html.CheckBox("Active", ViewData.Model.Active)
..导致同样的问题。
当我尝试更新我的模型时:
UpdateModel(空缺, Request.Form.AllKeys);
..我得到带有两个布尔字段的对象数组返回。好的,所以我了解隐藏字段的需要。但我使用的是 MVC Beta,我相信 UpdateModel 没有正确处理帖子数据。我收到此错误:System.FormatException“字符串未被识别为有效的布尔值。” ..当表格有时会发回时。我的意思是表单工作正常,保存真假状态,除非表单上的另一个字段为空。然后它抱怨“真,假”值。这很好。我知道字符串“true,false”不是一个有效的布尔值,但是它有时会抱怨而其他时候会起作用吗?请帮忙
编辑: 拜托,如果 some1 甚至可以建议 UpdateModel() 方法的另一种方法,我会看看。我怀疑这是我想念的简单的东西。
编辑 2: 这似乎是 MVC Beta 中的一个已知错误(http://www.codeplex.com/aspnet/WorkItem/View.aspx?WorkItemId=2671&FocusElement=CommentTextBox)。任何人都可以提出解决方法吗?