在注册页面上收集所有相关信息用户、角色和个人资料信息的最佳方式是什么?我目前的方法是在寄存器模型中设置额外的字段:
public class RegisterModel
{
[Required]
[Display(Name = "Email")]
[DataType(DataType.EmailAddress)]
public string UserName { 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; }
[Required]
[Display(Name = "Account type")]
public string Role { get; set; }
}
请参阅角色作为最后一项。我也计划在这里添加个人资料信息。
然后在我的控制器中我这样做。
public ActionResult Register(RegisterModel model)...
WebSecurity.CreateUserAndAccount(model.UserName, model.Password);
WebSecurity.Login(model.UserName, model.Password);
Roles.AddUserToRole(model.UserName, model.Role);
即使它们不是 UserProfile 类的一部分,也可以传递这些附加数据元素吗?我正在做的工作,但它似乎是错误的。