2010-04-15 3 views
0

Comment puis-je utiliser MembershipCreateStatus dans mon contrôleur ci-dessous pour identifier des erreurs?Utilisation de MembershipCreateStatus dans MVC

Mon contrôleur ci-dessous crée un nouvel utilisateur mais j'aimerais attraper les erreurs de CreateStatus et ajouter l'erreur à mon modèle.

Je continue d'obtenir des erreurs pour l'état ci-dessous.

[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); 
    } 

Répondre

1

Vous pouvez voir dans this msdn article comment obtenir le texte MembershipCreateStatus. Vous devez également gérer d'autres exceptions qui peuvent survenir. Comme il y a beaucoup de code, je suggère de le déplacer dans une classe séparée appelée MembershipService et d'en appeler simplement une méthode.

+0

J'ai créé une classe MembershipService avec toutes les méthodes de fournisseur d'abonnement, mais je ne vois toujours pas comment utiliser MembershipCreateStatus? – Jemes