J'ai un AccountController qui fait le login et l'enregistrement d'utilisateur asp.net. (Enregistrer l'action ci-dessous .. Après cela, je veux également ajouter ces données utilisateur à une autre table d'esprit appelée utilisateurs.J'ai maintenant un "UsersController" et une action appelée "Créer" de sorte que vous pouvez voir ci-dessous j'ai le ligne:asp.net- mvc passer des variables d'un contrôleur (action) à un autre contrôleur (action)
return RedirectToAction("Create", "Users");
Voici la méthode complète d'enregistrement
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Register(string userName, string email, string password, string confirmPassword, string address, string address2, string city, string state, string homePhone, string cellPhone, string company)
{
ViewData["PasswordLength"] = MembershipService.MinPasswordLength;
if (ValidateRegistration(userName, email, password, confirmPassword))
{
// Attempt to register the user
MembershipCreateStatus createStatus = MembershipService.CreateUser(userName, password, email);
if (createStatus == MembershipCreateStatus.Success)
{
FormsAuth.SignIn(userName, false /* createPersistentCookie */);
return RedirectToAction("Create", "Users");
}
else
{
ModelState.AddModelError("_FORM", ErrorCodeToString(createStatus));
}
}
// If we got this far, something failed, redisplay form
return View();
}
mon problème est que je veux passer tous les arguments (userName, email, adresse, etc.) dans mon action que ceux-ci sont des champs dans la table des utilisateurs
Comment transmettre des arguments à cet ot son action ou existe-t-il d'autres pratiques recommandées pour faire plusieurs actions à la fois et conserver l'état des variables.
n'est pas là une manière plus propre. . l'utilisation de tempdata semble un peu implicite car il y a tout cet état qui traîne dans ces dictionnaires au lieu d'être des arguments explicites transmis d'une méthode à une autre – leora