后台 DeleteRole 方法,基本和 DeleteUser 一样:
[HttpPost]
public async Task<IActionResult> DeleteRole(string id)
{
var role = await _roleManager.FindByIdAsync(id);
if (role == null)
{
ViewBag.ErrorMessage = $"角色 Id {id} 的信息不存在,请重试。";
return View("NotFound");
}
var result = await _roleManager.DeleteAsync(role);
if (result.Succeeded)
{
return RedirectToAction("ListRoles");
}
foreach (var error in result.Errors)
{
ModelState.AddModelError("", error.Description);
}
return View("ListRoles");
}
删除角色的视图以及 JS 也和删除用户类似,此处不再贴出。
现在存在的一个问题是,有的角色里面已经存在用户,但删除角色后那些用户依然存在,下一节讲解如何处理这种问题。