Ich habe einen AccountController, der die ASP.NET-Anmeldung und Benutzerregistrierung tut. (Registrieren Sie die Aktion unten. Nachdem dies erfolgreich ist, möchte ich diese Benutzerdaten auch zu einer anderen Tabelle namens Benutzer hinzufügen. Im Moment habe ich einen "UsersController" und eine Aktion namens "Create", so wie Sie unten sehen können Leitung:asp.net- mvc übergeben Variablen von einem Controller (Aktion) zu einem anderen Controller (Aktion)
return RedirectToAction("Create", "Users");
ist die vollständige Registrierung Methode
[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();
}
mein Problem ist, dass ich alle Argumente (benutzername, E-Mail, Adresse, etc.) in meine Aktion übergeben werden sollen, da diese Felder sind in der Benutzer-Tabelle auch
Wie übergebe ich Argumente zu diesem ot Ihre Aktion oder gibt es andere empfohlene Vorgehensweisen, um mehrere Aktionen gleichzeitig auszuführen und den Status der Variablen beizubehalten.
ist nicht ein sauberer Weg. . Die Verwendung von tempdata scheint ein wenig implizit zu sein, da in diesen Wörterbüchern dieser ganze Zustand herumhängt, anstatt dass explizite Argumente von einer Methode zu einer anderen weitergegeben werden – leora