FormatException:Html.CheckBox(),UpdateModel()和隐藏的输入

时间:2009-01-17 09:48:25

标签: asp.net-mvc forms checkbox boolean updatemodel

我的bool字段的复选框在我看来是这样的:

=Html.CheckBox("Active", ViewData["Active"] != null ? ViewData["Active"] : (ViewData.Model.Active != null ? ViewData.Model.Active : false)
如果你愿意,你可以忘记绒毛:

=Html.CheckBox("Active", ViewData.Model.Active)

..导致同样的问题。

当我尝试使用以下内容更新我的模型时

UpdateModel(vacancy, Request.Form.AllKeys);

..我得到对象数组返回两个bool字段。好的,所以我理解隐藏领域的必要性。但我使用MVC Beta,我相信UpdateModel没有正确处理帖子数据。我收到此错误: System.FormatException“字符串未被识别为有效的布尔值。” ..当表格有时发回。我的意思是表单工作正常,保存真实和虚假状态,除非表单上的另一个字段为空。然后它抱怨“真实,虚假”的价值。那没关系。我知道一个字符串“true,false”不是一个有效的bool但是y有时会抱怨并且其他时候有效吗? 请帮忙

修改: 请问,如果some1甚至可以建议另一种方法来使用UpdateModel()方法,我会看一下。我怀疑这是我想念的简单事。

编辑2: 这似乎是MVC Beta中的一个已知错误(http://www.codeplex.com/aspnet/WorkItem/View.aspx?WorkItemId=2671&FocusElement=CommentTextBox)。任何人都可以建议解决方法吗?

1 个答案:

答案 0 :(得分:1)

在ASP.net MVC 1.0中解决

(添加了答案,以便我们可以消除Unanswered

中的问题