簡體   English   中英

為什么在使用ajax Post時我的模型狀態沒有更新

[英]why my Model State is'nt updated when using ajax Post

為什么我的ModelState控制器即使有錯誤也不會更新或顯示為true。 這是我的代碼

$('#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返回進行了測試

現在,我很尷尬,在收到來自markpsmith的提問之后,開始粘貼模型驗證,我意識到用於渲染視圖的對象類和用於參數的對象類是不同的對象,但是具有非常相似的屬性,這就是為什么綁定屬性是全部正確填充,但是驗證從未執行,因為參數中的對象沒有運行驗證...。

無論如何,更改保存控制器以更正模型即可解決此問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM