1
我试图从我的应用程序用户上删除一个角色,点击ActionLink并且它成功发送一个Viewbag消息。我目前遇到的问题是,当我尝试从角色中删除用户时,页面正在刷新。原因是因为我希望管理员能够获得他正在请求的角色列表并从同一页面删除,以保持应用程序的精简。这里是我的控制器操作:如何在同一个视图中的同一个控制器中执行2个不同的ActionResults?
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
和GetRoles
控制器正常上不同意见通过自己与DeleteRoleForUser
工作/单独使用一个列表框以显示数据库中的所有角色,但是,正如我前面提到的,我想将两个功能组合起来。