ActionLink 클릭시 내 응용 프로그램 사용자의 역할을 제거하려고하는데 성공하면 Viewbag 메시지를 보냅니다. 현재 내가 겪고있는 문제는 역할에서 사용자를 제거하려고하면 페이지가 새로 고쳐집니다. 그 이유는 관리자가 응용 프로그램을 간결하게 유지하기 위해 동일한 페이지에서 요청하고 삭제하는 역할 목록을 가져올 수 있기를 원하기 때문입니다. 여기 내 컨트롤러 액션입니다 : 여기같은보기에서 같은 컨트롤러에서 2 개의 다른 액션 결과를 어떻게 수행합니까?
public ActionResult DeleteRoleForUser()
{
var list = _context.Roles.OrderBy(r => r.Name).ToList().Select(rr => new SelectListItem { Value = rr.Name.ToString(), Text = rr.Name }).ToList();
ViewBag.Roles = list;
return RedirectToAction("GetRoles");
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult DeleteRoleForUser(string UserName, string RoleName)
{
var account = new AccountController();
ApplicationUser user = _context.Users.FirstOrDefault(u => u.UserName.Equals(UserName, StringComparison.CurrentCultureIgnoreCase));
if (account.UserManager.IsInRole(user.Id, RoleName))
{
account.UserManager.RemoveFromRole(user.Id, RoleName);
ViewBag.Message = "Role removed from this user successfully!";
return View("GetRoles");
}
var list = _context.Roles.OrderBy(r => r.Name).ToList().Select(rr => new SelectListItem { Value = rr.Name.ToString(), Text = rr.Name }).ToList();
ViewBag.Roles = list;
return View("GetRoles");
}
내보기에서 삭제 링크입니다
@Html.ActionLink("Remove Role", "DeleteRoleForUser", new{controller = "Role"})
나는 목록 상자를 사용하여 DeleteRoleForUser
와 함께 스스로에 의해 다른보기에 별도로/제대로 작동 DeleteRoleForUser
과 GetRoles
컨트롤러가 그러나 데이터베이스의 모든 역할을 표시하려면 앞에서 설명한 것처럼 두 가지 기능을 결합하고 싶습니다.