我是.Net / MVC3的新手,我正在开发一个使用默认成员资格提供程序的C#,MVC3,EF4应用程序.从我的阅读,它应该自动捕获重复的电子邮件,但它似乎没有这样做,我不知道为什么.我真正需要弄清楚的是在哪里查看是否有正确的部分,以及为什么它可能不进行验证检查(它似乎做了大多数/所有其他的,如重复用户名或无效的密码格式等,只有重复的电子邮件没有被捕获.)
自定义包括向特定角色添加新用户,以及重定向到“第一次”欢迎页面.
这是代码:
// POST: /Account/Register [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,true,out createStatus); if (createStatus == MembershipCreateStatus.Success) { FormsAuthentication.SetAuthCookie(model.UserName,false /* createPersistentCookie */); Roles.AddUserToRole(model.UserName,"Registered"); //return RedirectToAction("Index","Home"); return RedirectToAction("Acceptance","Account"); } else { ModelState.AddModelError("",ErrorCodetoString(createStatus)); } } // If we got this far,something Failed,redisplay form return View(model); }
#region Status Codes private static string ErrorCodetoString(MembershipCreateStatus createStatus) { // See http://go.microsoft.com/fwlink/?LinkID=177550 for // a full list of status codes. switch (createStatus) { case MembershipCreateStatus.DuplicateUserName: return "User name already exists. Please enter a different user name."; case MembershipCreateStatus.DuplicateEmail: return "A user name for that e-mail address already exists. Please enter a different e-mail address.";
等等