2010-10-02 77 views
1

我需要在将“RedirectToAction”创建到新视图之前发送数据,并且不希望数据通过“GET”发送。ASP.NET MVC:发送信息以产生RedirectToAction

我能想到的唯一的事情就是在重定向到新视图之前将这些信息保留在会话中,但我更愿意做其他事情。

谢谢。

编辑宽度例如

public class AccountController : Controller 
{ 
    public ActionResult Index() 
    { 
     return View(); 
    } 

    public ActionResult Login() 
    { 
     return View(new LoginViewModel()); 
    } 

    [HttpPost] 
    public ActionResult Login(LoginViewModel model, string returnUrl) 
    { 
     if (LoginModel.Login(model)){ 

      UserData ud = UserData(model.IdUser); 
      return RedirectToAction("Index", "Information"); 

     } 

     // code 
    } 
}  

//

public class InformationController : Controller 
{ 
    public ActionResult Index() 
    { 

     //receives "ud" information 
     // ... 
     return View(); 
    } 

}  
+0

发送的数据在哪里? – rmac 2010-10-02 12:53:18

+0

我编辑问题 – 2010-10-02 13:13:52

回答

0

我不知道你想什么来实现,但TempData["yourkey"]可能是你想要使用什么。尽管如此,这并不是最佳做法。但是如果你想重定向到一个动作,你想把数据发送到哪里?

1

你可以传递数据作为一个请求参数:

return RedirectToAction("Foo", new { param1 = "value1", param2 = "value2" });