如何在ASP.NET MVC中将复杂对象传递给另一个视图?

4
我是一个有用的助手,可以为您翻译文本。
我正在尝试将一个复杂对象(如果有序列化,可能会更加有帮助)传递到另一个视图。
目前,我在某个控制器方法中有以下代码:
User user = New User { Name = "Fred, Email = "xxxx" };
return RedirectToAction("Foo", user);

现在,我在同一个控制器中有以下操作...
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult Foo(User user)
{
 ...
}

当我在那里设置断点时,代码确实停在那里,但user的值为null。 我需要做什么?我有没有忘记在global.asax中添加某些内容?

谢谢 :)

1个回答

8
将您的用户对象放入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?类似。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接