【发布时间】:2017-09-29 04:42:26
【问题描述】:
我正在尝试从下拉列表中更新用户角色。当我选择要分配的用户名(电子邮件地址)和角色(例如超级用户、管理员、用户)并点击提交时,我会按应有的方式提交所有内容。我发现,对于我为同一用户选择的要更新的角色,它会为该角色创建一个数据条目,并多次添加该用户。这使得最后输入的记录始终是 userRole。
我想不通的是,一旦我找到了用户,如何删除当前的 RoleId 并添加新的。
如果您想要 View、Model 或其他任何其他代码,请告诉我并发布。
底部的图像,例如数据库中发生的事情。
控制器
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<ActionResult> RegisterRole(RegisterViewModel model, ApplicationUser user)
{
var userId = db.AspNetUsers.Where(i => i.UserName == user.UserName).Select(s => s.Id);
string updateId = "";
foreach (var i in userId)
{
updateId = i.ToString();
}
//Assign Role to user here
await this.UserManager.AddToRoleAsync(updateId, model.Name);
return RedirectToAction("Index", "Employee");
}
【问题讨论】:
标签: c# asp.net-mvc-5