Identity角色管理三(编辑角色)
Posted liessay
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Identity角色管理三(编辑角色)相关的知识,希望对你有一定的参考价值。
因只有角色名能修改故继续使用创建角色的视图模型
using System.ComponentModel; using System.ComponentModel.DataAnnotations; namespace Shop.ViewModel { public class CreateEditRoleViewModel { [Required(ErrorMessage = "角色名不能为空")] [DisplayName("角色名")] public string Name { get; set; } } }
修改角色的方法
// GET: RoleController/Edit/5 public ActionResult Edit(int id) { return View(); } // POST: RoleController/Edit/5 [HttpPost] [ValidateAntiForgeryToken] public async Task<ActionResult> Edit(string id, CreateEditRoleViewModel input) { var role = await _roleManager.FindByIdAsync(id); if (role != null) { role.Name = input.Name; var result = await _roleManager.UpdateAsync(role); if (result.Succeeded) { return RedirectToAction("Index"); } foreach (var error in result.Errors) { ModelState.AddModelError("", error.Description); } } return View(input); }
编辑角色视图
@model Shop.ViewModel.CreateEditRoleViewModel @*因只需要一个角色名,故直接使用了创建视图模型*@ @{ ViewData["Title"] = "Edit"; } <h1>Edit</h1> <h4>编辑角色</h4> <hr /> <div class="row"> <div class="col-md-4"> <form asp-action="Edit"> <div asp-validation-summary="ModelOnly" class="text-danger"></div> <div class="form-group"> <label asp-for="Name" class="control-label"></label> <input asp-for="Name" class="form-control" /> <span asp-validation-for="Name" class="text-danger"></span> </div> <div class="form-group"> <input type="submit" value="Save" class="btn btn-primary" /> </div> </form> </div> </div> @section Scripts { @{await html.RenderPartialAsync("_ValidationScriptsPartial");} }
编辑角色及报错展示
以上是关于Identity角色管理三(编辑角色)的主要内容,如果未能解决你的问题,请参考以下文章
ASP.NET MVC 5 中的简单角色管理器和授权,无需使用 Identity(CustomRoleProvider)