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