4

I'm trying to pass a complex object (that can be serialized, if that helps) to another view.

Currently this is the code i have, in some controller method :-

User user = New User { Name = "Fred, Email = "xxxx" };
return RedirectToAction("Foo", user);

now, i have the following action in the same controller ...

[AcceptVerbs(HttpVerbs.Get)]
public ActionResult Foo(User user)
{
 ...
}

When i set a breakpoint in there, the code does stop there, but the value of user is null. What do i need to do? Am i missing something in the global.asax?

cheers :)

Pure.Krome
  • 84,693
  • 113
  • 396
  • 647

1 Answers1

8

Put your User object in TempData. You can't pass it as a parameter.

TempData["User"]  = new User { Name = "Fred", Email = "xxxx" };
return RedirectToAction("Foo");

[AcceptVerbs(HttpVerbs.Get)]
public ActionResult Foo()
{
    User user = (User)TempData["User"];
    ...
}

Similar to How can I maintain ModelState with RedirectToAction?

Community
  • 1
  • 1
tvanfosson
  • 524,688
  • 99
  • 697
  • 795