更新ajax ASP.NET MVC时收到500状态代码响应

时间:2019-03-08 02:33:02

标签: c# asp.net-mvc asp.net-ajax

我想更新我的用户信息,但出现错误

  

500状态码响应

当我更新数据时。

这是我的代码:

上下文类:

公共无效更新(UserInformation模型)    {        var user = _db.UserInfo                 .FirstOrDefault(m_id => m_id.Id == model.Id);

   _db.Update(user);
   _db.SaveChanges();

}

控制器:

[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> PostEdit(UserInformation userInformation)
{
    if (!ModelState.IsValid)
    {
    }

    _ui_context.Update(userInformation);

    return new JsonResult("User Updated!");
}

我的AJAX通话:

if (action == "Update") {
    $.ajax({
                method: "POST",
                url: "/UserInformation/PostEdit",
                data: $('#form_data').serialize(),
                dataType: "JSON",
                success: function (data) {
                    alert(data);
                    clearFields();
                    $("#exampleModal").modal("hide");
                    loadUser();
                }
     });
}

这是我对模式的看法:

<form method="POST" id="form_data">
    <div asp-validation-summary="ModelOnly" class="text-danger"></div>
    <input type="hidden" asp-for="Id" />
    <input type="hidden" id="action_value" value="" />
    <div class="form-group">
        <label asp-for="FirstName" class="control-label"></label>
        <input asp-for="FirstName" class="form-control" id="txtFirst" />
        <span asp-validation-for="FirstName" class="text-danger"></span>
    </div>
    <div class="form-group">
        <label asp-for="LastName" class="control-label"></label>
        <input asp-for="LastName" class="form-control" id="txtLast" />
        <span asp-validation-for="LastName" class="text-danger"></span>
    </div>
    <div class="form-group">
        <label asp-for="Location" class="control-label"></label>
        <input asp-for="Location" class="form-control" id="txtLocation" />
        <span asp-validation-for="Location" class="text-danger"></span>
    </div>
</form>

这是我得到的错误:

500 status code respone

谢谢您的回答!非常感谢

1 个答案:

答案 0 :(得分:1)

500状态表示PostEdit()操作中存在异常。请检查您的模型userInformation传递给方法_ui_context.Update(userInformation);

您可以更改

    if (!ModelState.IsValid)
   {
return new JsonResult("Model is invalid");
}