无法自动添加角色
本文关键字:添加 角色 | 更新日期: 2023-09-27 18:31:04
我的帐户控制器上收到以下错误:
The role 'roleName' was not found.
但我有两个角色管理员和游戏玩家
我的寄存器视图中的下拉列表会选取它们:
<label for="roleName">Select Role:</label>
@Html.DropDownList("roleName")
@Html.ValidationMessage("roleName")
在我的帐户控制器中,我有以下内容:
//
// GET: /Account/Register
[AllowAnonymous]
public ActionResult Register()
{
ViewData["roleName"] = new SelectList(Roles.GetAllRoles(), "roleName");
return View();
}
//
// POST: /Account/Register
[HttpPost]
[AllowAnonymous]
public ActionResult Register(RegisterModel model)
{
if (ModelState.IsValid)
{
// Attempt to register the user
MembershipCreateStatus createStatus;
Membership.CreateUser(model.UserName, model.Password, model.Email, null, null, true, null, out createStatus);
if (createStatus == MembershipCreateStatus.Success)
{
Roles.AddUserToRole(model.UserName, "roleName");
FormsAuthentication.SetAuthCookie(model.UserName, false /* createPersistentCookie */);
return RedirectToAction("Index", "Home");
}
else
{
ModelState.AddModelError("", ErrorCodeToString(createStatus));
}
}
// If we got this far, something failed, redisplay form
return View(model);
}
我不知道这是为什么高兴?
看起来问题就在这里:
Roles.AddUserToRole(model.UserName, "roleName");
我猜你不是故意把"roleName"写成文字。 也许是模型。角色名称或"用户",还是角色提供程序中存在的角色?