为什么我的模型状态'使用ajax Post时不更新

本文关键字:Post ajax 更新 使用 模型 我的 状态 为什么 | 更新日期: 2023-09-27 18:14:18

为什么我的ModelState在控制器不更新或显示为真,即使有一个错误。这是我的代码

$('#extracontent').on('click', '#Save', function () {
    $.ajax({
            type: frm.attr('method'),
            url: frm.attr('action'),
            data: $('#form').serializeArray(),
            success: ...,
            error: ...
            }
        });
    //}
});
[Authorize]
[HttpPost]
public ActionResult Edit(EditUserModel savedUserModel)
{
    if (!ModelState.IsValid) // model.isValid is true even when there is an error in model
        return PartialView....

我已经试过了TryUpdateModel (savedUserModel)调用UpdateModel (savedUserModel)

但模型状态仍然有效…验证工作我已经测试过使用简单的POST返回

为什么我的模型状态'使用ajax Post时不更新

现在我很尴尬,在markpsmith的问题之后,我开始粘贴我的模型验证,我意识到用于渲染视图的对象类和用于参数的对象类是不同的对象,但具有非常相似的属性,这就是为什么绑定属性都被正确填充,但验证从未执行因为参数中的对象没有验证运行....

无论如何,更改save controller以更正模型可以解决此问题。