我们有一个视图,其中有一个我们从模型属性设置的CheckBox。
@using (Ajax.BeginForm(new AjaxOptions { HttpMethod = "get", InsertionMode = InsertionMode.Replace, UpdateTargetId = "content_list", Url = Url.Action("IndexList", "UsersAdmin", new { id = "formSearch" })))
{
.......(some code)
<div id="content_list">
@Html.CheckBoxFor(model => model.SearchAll)
</div>
<div id="content_list">
@Html.Partial("_List", Model)
</div>
}
根据第一次加载,选中或不选中复选框。这很好用,没问题。
如您所见,CheckBox位于Ajax表单内,该表单刷新包含列表的部分列表。
在我们的脚本中:
$("#SearchAll").change(function() {
jQuery('#SearchAll').closest('form').submit();
});
当CheckBox首次加载未选中时,没有问题。我们检查并取消选中它,并始终调用控制器操作。
问题是当我们第一次加载CheckBox时(true值)。在这种情况下,当我们取消选中该复选框时,它将转到javascript更改功能,但它不会调用控制器操作。当我们再次检查它时效果很好。因此,在这种情况下,它仅在您选中复选框时有效,但在取消选中时却无效。
我们已经尝试了很多东西,但它接缝很奇怪......也许有人知道这个问题。
提前致谢。
答案 0 :(得分:0)
CheckBox本身没有问题,当检查CheckBox时,de form中有一个控件给出一个不正确的值,因此表单没有验证,也没有。执行ajax调用。
很抱歉,感谢您的回答。
我希望至少这可以帮助有类似错误的人。