我正在尝试将一个复杂的对象(可以序列化,如果有帮助)传递给另一个视图.
目前这是我的代码,在某些控制器方法中: -
User user = New User { Name = "Fred, Email = "xxxx" }; return RedirectToAction("Foo", user);
现在,我在同一个控制器中有以下动作......
[AcceptVerbs(HttpVerbs.Get)] public ActionResult Foo(User user) { ... }
当我在那里设置一个断点,代码中并停在那里,但价值user
是null
.我需要做什么?我错过了什么global.asax
吗?
欢呼:)
将您的User对象放在TempData中.您不能将其作为参数传递.
TempData["User"] = new User { Name = "Fred", Email = "xxxx" }; return RedirectToAction("Foo"); [AcceptVerbs(HttpVerbs.Get)] public ActionResult Foo() { User user = (User)TempData["User"]; ... }
类似于如何使用RedirectToAction维护ModelState?