在MVC中使用MembershipCreateStatus

时间:2010-04-15 22:36:03

标签: asp.net-mvc asp.net-membership

如何在下面的控制器中使用MembershipCreateStatus来识别错误?

下面我的控制器创建了一个新用户,但我想从CreateStatus中捕获任何错误并将错误添加到我的模型状态。

我不断收到以下状态的错误。

   [HttpPost]
    public ActionResult CreateUser(user UserToCreate)
    {
        if (ModelState.IsValid)
        {
            // TODO: If the UserToCreate object is Valid we'll
            //Eventually want to save it in a database

            MembershipCreateStatus status;
            MembershipService newMembershipService = new MembershipService();
            MembershipCreateStatus newUser = newMembershipService.CreateUser(UserToCreate.Username, UserToCreate.Password, UserToCreate.Email,out MembershipCreateStatus **status**);

            if (newUser == MembershipCreateStatus.Success)
            {
                return RedirectToAction("Index", "Home");
            }
            else
            {
                ModelState.AddModelError(createStatus);
                return Redirect("/");
            }               
        }
        //Invalid - redisplay form with errors
        return View(UserToCreate);
    }

1 个答案:

答案 0 :(得分:1)

您可以在this msdn article中看到如何获取MembershipCreateStatus文本。您还必须处理可能发生的其他异常。由于代码很多,我建议将它移到一个名为MembershipService的单独类中,然后从中调用一个方法。