KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I'm really struggling to wrap my head around this: I have a UserModel and a UserRoleModel: public class UserModel { [Required] [Display(Name = "User name")] public string UserName { get; set; } [Required] [DataType(DataType.EmailAddress)] [Display(Name = "Email address")] public string Email { get; set; } [Required] [StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)] [DataType(DataType.Password)] [Display(Name = "Password")] public string Password { get; set; } [DataType(DataType.Password)] [Display(Name = "Confirm password")] [Compare("Password", ErrorMessage = "The password and confirmation password do not match.")] public string ConfirmPassword { get; set; } public IEnumerable<string> UserRoles { get; set; } } public class UserRoleModel { public IEnumerable<string> AllRoles { get; set; } public UserModel user { get; set; } public UserRoleModel() { this.AllRoles = Roles.GetAllRoles(); this.user = new UserModel(); } } In the controller: public ActionResult Create() { return View(new UserRoleModel()); } [HttpPost] public ActionResult Create(UserRoleModel model) { if (ModelState.IsValid) { MembershipCreateStatus createStatus; Membership.CreateUser(model.user.UserName, model.user.Password, model.user.Email, null, null, true, null, out createStatus); if (createStatus == MembershipCreateStatus.Success) { foreach (var r in model.AllRoles) { Roles.AddUserToRole(model.user.UserName, r); } return RedirectToAction("Index", "Home"); } else { ModelState.AddModelError("", ErrorCodeToString(createStatus));
Tags (comma-separated)
Save Edits
Cancel