2009-07-22 21 views
0

私はasp.netログインとユーザー登録を行うAccountControllerを持っています。 (下のアクションを登録する..それが成功した後、私はまた、このユーザーデータをユーザーと呼ばれる別のテーブルに追加したいと思う。今、私は "UsersController"と "Create"というアクションを持っている。ライン:asp.net-mvcは、あるコントローラ(アクション)から別のコントローラ(アクション)に変数を渡します。

return RedirectToAction("Create", "Users"); 

ここでは私の問題は、私はこれらのフィールドですとしての私の行動に引数(ユーザー名、電子メール、アドレスなど)のすべてを通過したいということです完全な登録方法

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

ですユーザーテーブルでも同様です

このotに引数を渡すにはどうすればよいですか一度に複数のアクションを実行し、変数の状態を維持するために推奨されるいくつかのプラクティスがあります。

答えて

4
+1

ここではクリーナーの方法はありません。 。 tempdataを使用することは、明示的な引数があるメソッドから別のメソッドに渡されるのとは対照的に、これらのディクショナリにこの状態がぶら下がっているので、暗黙のようです – leora

関連する問題