简体   繁体   中英

I'm getting a 500 status code response when I update ajax ASP.NET MVC

I want to update my user information but I'm getting an error

500 status code response

when I'm updating my data.

This is my code:

Context class:

public void Update(UserInformation model) { var user = _db.UserInfo .FirstOrDefault(m_id => m_id.Id == model.Id);

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

}

Controller:

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

    _ui_context.Update(userInformation);

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

My AJAX call:

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();
                }
     });
}

Then this is my view on modal:

<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>

This is the error I am getting:

500状态码响应

Thank you for your answer! Appreciate it much

The 500 status that mean there is exception inside PostEdit() action. Please check your model userInformation pass into method _ui_context.Update(userInformation);

You can change

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM