我正在调用一个返回布尔值的控制器的操作方法。基于这个bool输出,我正在UI中选中/取消选中一个复选框。在我查看复选框值未选中的记录之前,这种方法一直有效。在这之后,所有记录都显示复选框为未选中,即使输出为true,并且控件在已选中属性设置为"已选中"的情况下正确呈现。
$.ajax({
url: '@Url.Action("IsUserActive", "Account")',
cache: false,
type: 'POST',
data: { userName: data.UserName },
success: function (output) {
if(output == "True")
$("#isActive").attr("checked", true);
else
$("#isActive").attr("checked", false);
$("#pwdResetModal").modal('show');
}
});
@using (Html.BeginForm("ResetPassword", "Account"))
{
@Html.AntiForgeryToken()
@Html.ValidationSummary()
<fieldset>
<legend>Registration Form</legend>
<ol>
<li>
@Html.HiddenFor(m => m.UserName, new { id = "userName" })
@Html.LabelFor(m => m.IsActive)
@Html.CheckBoxFor(m => m.IsActive,new { id = "isActive" })
</li>
</ol>
</fieldset>
<button class="btn btn-info">Submit</button>
}
我已经用.prop替换了.attr,现在一切似乎都很好。
$("#isActive").prop("checked", true);