【发布时间】:2012-11-19 08:14:23
【问题描述】:
我有一个简单的视图,用于编辑一些基本信息。如果不需要数据,它们是“NA”复选框。
@Html.TextBoxFor(m => m.PersonInfo[i].Reference, "Enter a reference", new { disabled = Model.PersonInfo[i].NotApplicable })
@Html.CheckBoxFor(m => m.PersonInfo[i].NotApplicable, new
{
onclick = "ChangeEnabledState(" + i + ");"
})
当用户单击 NA 复选框时,它会调用一个 javascript 函数来禁用该人的所有控件。
我对以下场景有疑问:
- 用户创建一个新的“人员信息”并将其设置为 NA(因此所有字段都被禁用)
- 然后用户返回编辑视图,取消选中复选框(启用视图)
- 用户在其中一个 texboxes 中输入了一些无效数据
- 用户点击保存,验证失败,错误被添加到模型中
- 由于被禁用的文本框是根据模型设置的,因此它们被禁用但复选框被选中。所以用户必须点击复选框两次才能重新启用它们。
是否有更新视图模型的干净方法,以便在上述情况下不会禁用字段。我已经尝试了一个 jquery 文档。准备检查复选框并启用/禁用,但觉得必须有一个更优雅的解决方案。
【问题讨论】:
标签: jquery asp.net-mvc validation