【发布时间】:2010-05-10 05:52:24
【问题描述】:
也许有人可以解释这种行为:
我正在使用最新版本的 MvcContrib 中的 CheckBoxList 当我的页面第一次加载时 - 我只是返回我的视图
return View(Product.GetProduct(productId));
一切似乎都很好。 所有 html 简单控件都填充成功,包括 checkboxlist:
<%= this.CheckBoxList(model => model.Product.Statuses)
.Options(Model.Statuses, model => model.Id, model => model.Name)
.ItemFormat("{0}<br />")
%>
所以,我在这个表单上有几个按钮,例如按钮“搜索”()。如果找到任何东西,我可以按 productId 搜索并显示它。 所以我将 productId 传递给我的控制器,这个控制器以与第一次相同的方式返回视图:
return View(Product.GetProduct(productId))
顺便说一句,我使用的是相同的逻辑 - 都是一样的:相同的视图、相同的控制器、相同的操作……没什么新意。但在这种情况下,我收到了以下错误消息:
字符串未被识别为有效的布尔值。 说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:System.FormatException:字符串未被识别为有效的布尔值。
来源错误:
Line 268: <labe**strong text**l for="group<%=item.Value%>"><%=item.Text%></label><br />
Line 269: <% } %>--%>
Line 270: <%= this.CheckBoxList(model => model.Product.Statuses).Options(Model.Statuses, model => model.Id, model => model.Name).ItemFormat("{0}<br />")%>
Line 271: </div>
Line 272: </div>
我发现了,当第一次和之后加载视图时,如果所有的复选框未选中我正在点击搜索 - 一切顺利,但是当检查任何复选框时,我点击了 - 我收到这个错误。
我需要帮助。有什么好主意吗?
【问题讨论】: