asp.net-mvc – Html.CheckBox即使模型值为true也不进行检查
发布时间:2020-12-15 20:17:19 所属栏目:asp.Net 来源:网络整理
导读:我有一个Razor部分视图由viewmodel支持,其中包含一个名为UseDuo的bool.我们假设UseDuo属性是true,我把以下代码放在我的Razor中: @Html.CheckBox("UseDuo",Model.UseDuo) @* Not checked *@@Html.CheckBoxFor(m = m.UseDuo) @* Not checked *@@Html.CheckBox
我有一个Razor部分视图由viewmodel支持,其中包含一个名为UseDuo的bool.我们假设UseDuo属性是true,我把以下代码放在我的Razor中:
@Html.CheckBox("UseDuo",Model.UseDuo) @* Not checked *@ @Html.CheckBoxFor(m => m.UseDuo) @* Not checked *@ @Html.CheckBox("UseDuo2",Model.UseDuo) @* checked *@ @(Model.UseDuo ? "UseDuo=true" : "UseDuo=false") @* outputs UseDuo=true *@ 前两个复选框未选中,但第三个复选框被选中,最后一行输出为“UseDuo = true”.是什么赋予了?根据我对这些Html帮助者的理解,应该检查所有三个复选框.但是,如果我的复选框的名称与我的model属性的名称相匹配,则拒绝正确检查. 我尝试调试到.Net MVC源,但是调试器拒绝给我大部分变量的值,所以这没有太大的帮助. 编辑:只是意识到这里没有实际的问题.我的问题:为什么不检查前两个框? 解决方法
如果@ Html.CheckBoxFor(m => m.UseDuo)呈现未勾选的复选框,并且您已经验证了Model.UseDuo = true,那么唯一可能的原因是,在模型状态中已经有一个UseDuo值与您的模型.为了确保在返回视图之前尝试删除它:
ModelState.Remove("UseDuo"); 或者整个清除模型: ModelState.Clear(); 现在,CheckBox帮助器将从您的模型中选取该值.如果勾选这个复选框,你必须在你的代码的哪一部分中找到UseDuo值被插入到modelstate中. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc-3 – MVC3 / Razor缩略图/调整大小图像想法?
- ASP.NET MVC – 如何处理发送电子邮件?
- 将ExtJS与ASP.NET,Webforms或MVC一起使用?
- asp.net-mvc – 如何将MVC 3项目更新为jQuery 1.6?
- 由于asp.net-C中的保护级别错误而无法访问#
- WeihanLi.Npoi 根据模板导出Excel
- asp-classic – 升级Classic ASP WebApp的最佳方法是什么?
- asp.net – 当您的用户被黑客攻击时该怎么办
- asp.net – 将unicode数字从英语转换为devanagari
- 谈谈ASP.NET Core中的ResponseCaching
推荐文章
站长推荐
- entity-framework – 如何告诉UserManager.FindB
- asp.net-mvc – 在MVC中的业务规则
- ASP.Net 4中ClientIDMode的正确设置是什么,以获得
- asp.net-mvc – 存储库层中的服务层重复功能
- asp.net-mvc – NUnit中的MbUnit的行属性?
- asp.net-mvc – 如何将应用程序用户放在与其余对
- asp.net-mvc-2 – 是asp.net MVC2包括在.net 4.0
- asp.net-mvc – ASP.NET MVC模型验证错误本地化上
- 本地化 – 当我将文化添加到文件名时,我的全局资
- asp.net-mvc – 忽略viewstart在asp.net mvc raz
热点阅读