Я занимаюсь разработкой проекта MVC 3 и хочу добавить пользователя к роли при регистрации, используя проверку подлинности с помощью форм. Поэтому я хотел бы создать несколько флажков или раскрывающийся список с указанием ролей, которые выбраны, и пользователь назначается на роль при регистрации.
У меня есть этот код, который работает:
public ActionResult Register()
{
ViewData["roleName"] = new SelectList(Roles.GetAllRoles(), "roleName");
return View();
}
И в представлении у меня есть:
<label for="roleName">Select Role:</label>
@Html.DropDownList("roleName")
@Html.ValidationMessage("roleName")
Это раздел HttpPost контроллера, и это часть, которую я не знаю, что кодировать:
[HttpPost]
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)
{
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);
Итак, все роли отображаются в представлении. Все, что мне нужно знать, - это что добавить в раздел HttpPost, чтобы это работало.
Большое спасибо, Эми