Estoy trabajando en un proyecto mvc de asp.net core y estoy usando ef-core con IdentityUser. Encontré un error al eliminar el usuario. Anteriormente, el código de eliminación funcionaba bien. Después de aplicar el cuadro de confirmación de javascript para confirmar la operación de eliminación, aparece el cuadro de confirmación, pero cuando hago clic en Aceptar , no elimina al usuario de todos modos. Intenté eliminar el código de javascript, pero aún no elimina al usuario. de todos modos. Por favor, ayuda.
Aquí está el código para el botón de envío y la etiqueta del formulario:
<form method="post" asp-route-Id="@user.Id" asp-action="DeleteUser" asp-controller="Admin"> <button type="submit" onclick="return DeleteU()" class="btn btn-danger w-100"> <i class="fas fa-trash-alt"></i> </button> </form>Aquí está el código javascript:
<script> function DeleteU() { var result = confirm("Are You Sure You Want To Delete The User?") if (result) { return true; } else { return false; } } </script>Aquí está el código del método del controlador:
public async Task<IActionResult> DeleteUser(string Id) { var user = await _userManager.FindByIdAsync(Id); if (user == null) { return NotFound(); } else { _db.Users.Remove(user); await _userManager.DeleteAsync(user); _db.SaveChanges(); return RedirectToAction("UserMgmt"); } }En primer lugar, debe eliminarlo con UserManager y se reflejará automáticamente en la base de datos `public async Task DeleteUser (string Id) { var user = await _userManager.FindByIdAsync (Id);
if (user == null) { return NotFound(); } else { var transaction = context.Database.BeginTransaction() await _userManager.DeleteAsync(user); await transaction.CommitAsync(); return RedirectToAction("UserMgmt"); } }.