【发布时间】:2010-10-06 07:03:09
【问题描述】:
使用Html.Checkbox 扩展方法创建的复选框有这个烦人的问题。显然,在回发的情况下不会保存复选框的状态(由于表单验证错误)。深入研究 MVC 代码本身 (System.Web.Mvc.Html.InputExtensions) 我发现“已检查”属性是通过调用 htmlHelper.EvalBoolean(name) 确定的。
此方法查找 ViewData 本身的键(在 name 参数中指定)。问题是复选框的值实际上位于ModelState中。打电话
htmlHelper.GetModelStateValue(name, typeof(bool)) 会返回预期的结果。
这是复选框实现中的缺陷吗?
【问题讨论】:
标签: asp.net-mvc checkbox