加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – asp.net mvc复选框不一致

发布时间:2020-12-16 06:56:15 所属栏目:asp.Net 来源:网络整理
导读:我正在使用ASP.NET MVC表单上的复选框,如下所示: %=Html.CheckBox("AgreeToRules",Model.AgreeToRules)% 模型上的AgreeToRules属性是一个布尔值.在测试期间,这一切都很好.但是,现在我们已经开始使用这个应用程序了,我发现以下消息传递中出现了相对较小但很
我正在使用ASP.NET MVC表单上的复选框,如下所示:

<%=Html.CheckBox("AgreeToRules",Model.AgreeToRules)%>

模型上的AgreeToRules属性是一个布尔值.在测试期间,这一切都很好.但是,现在我们已经开始使用这个应用程序了,我发现以下消息传递中出现了相对较小但很多的错误:

System.Web.HttpUnhandledException:
Exception of type
‘System.Web.HttpUnhandledException’
was thrown. —>
System.InvalidOperationException: The
parameter conversion from type
‘System.String’ to type
‘System.Boolean’ failed. See the inner
exception for more information. —>
System.FormatException: Y is not a
valid value for Boolean. —>
System.FormatException: String was not
recognized as a valid Boolean.

这似乎发生在视图引擎尝试在帖子后呈现表单时,并且从ValueProvider返回的复选框的值如下所示:

Y,false

要么

N,false

以原始形式呈现的html如下所示:

<input id="AgreeToRules" name="AgreeToRules" type="checkbox" value="true" />
<input name="AgreeToRules" type="hidden" value="false" />

在测试期间,我期望(并显示)发布的值看起来像:

true,false

如果选中或

false

如果没有检查.那么N和Y来自哪里?

我将用户代理添加到从错误处理程序返回的信息列表中,并且出现(到目前为止)所有错误都发生在带有FF 3.0.10的Windows XP下,但这正是我测试过的并且问题没有在测试过程中存在

有什么想法吗?

解决方法

我正在研究的项目(MVC 2)上有同样的问题.我们用普通的html代码替换了帮助器来解决它:

之前:
<%= Html.CheckBox(“Credit”,false,new {@validate =“required”})%>

后:

<input type="checkbox" name="Credit" value="true" validate="required" />
<input type="hidden" name="Credit" value="false" />

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读