asp.net-mvc – 为什么ASP.NET MVC Html.CheckBox输出两个INPUT
发布时间:2020-12-15 19:12:56 所属栏目:asp.Net 来源:网络整理
导读:为什么在世界上行的: %= Html.CheckBox("ForSale",Model.Product.ForSale)% For Sale 导致以下HTML: input id="ForSale" name="ForSale" type="checkbox" value="true" /input name="ForSale" type="hidden" value="false" /For Sale 现在每当我检查框并访
为什么在世界上行的:
<%= Html.CheckBox("ForSale",Model.Product.ForSale)%> For Sale 导致以下HTML: <input id="ForSale" name="ForSale" type="checkbox" value="true" /> <input name="ForSale" type="hidden" value="false" /> For Sale 现在每当我检查框并访问Request.Form [“ForSale”],我得到的可笑答案“真,假”。我应该解析吗? 此隐藏字段不会显示为其他HtmlHelper控件,那么为什么它为CheckBox? 如何将这个愚蠢的“功能”关闭?或者HtmlHelper刚刚超出它的用途? 更新 从下面的答案,似乎在这背后有一些逻辑。我已经准备了一个小的扩展方法,所以我不必考虑它(感谢@ eu-ge-ne): public static bool GetCheckBoxValue(this System.Web.HttpRequestBase req,string name) { return Convert.ToBoolean(req.Form.GetValues(name).First()); } 解决方法
如果未选中,则强制包含该字段。如果取消选中复选框,则不会将其作为网页的一部分发送 – 它们仅在选中时发送,然后值为true。隐藏字段确保在复选框未选中时将发送false,因为始终发送隐藏字段。
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- entity-framework-4 – 通过扩展方法的IDbSet和公开包含方法
- asp.net – 为什么我的控件获得不同的id命名约定?
- asp.net – 如何防止重复的回发混淆我的业务层
- entity-framework – ViewModels和MVC中Entity Framework的
- ASP.NET – 脚本和css压缩
- asp.net – 如何显示更好的错误:“从客户端检测到一个潜在
- asp.net – 使用SQL Server进行关键字搜索
- ASP.NET 实现Replace忽略大小写替换
- asp.net-mvc-3 – ASP.NET MVC 3.0构建视图为64位
- .NET Core多平台开发体验[4]: Docker
推荐文章
站长推荐
- asp.net-mvc – 如何轻松地将Bootstrap应用于已完
- 以编程方式访问ASP.NET 2.0中继器中的数据
- asp.net-mvc – 将类应用于@ Html.ValidationMes
- asp.net-mvc – 如何使用Quartz.net 2.0安排任务
- asp.net-mvc – Ninject.MVC3,Nuget,WebActivato
- 优化委托的 `DynamicInvoke`
- asp.net-mvc-3 – 使用多个Web应用程序共享控制器
- asp.net-mvc – 缺少webpages_UsersInRoles
- asp.net – Databound和Databind之间的区别
- asp.net-mvc – 使用Action Filter检查URL中的参
热点阅读