2008-11-30 83 views
4

我想通過一個複雜的對象(可以序列化,如果有幫助)到另一個視圖。如何將複雜的對象傳遞給ASP.NET MVC中的另一個視圖?

目前這是代碼我有,在一些控制方法: -

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

現在,我已經在同一個控制器中執行以下操作...

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

當我設置一個那裏的斷點,代碼在那裏停止,但user的值是null。 我需要做什麼?我在global.asax中錯過了什麼嗎?

歡呼聲:)

回答

8

將您的用戶對象放入TempData中。您無法將其作爲參數傳遞。

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

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

How can I maintain ModelState with RedirectToAction?

+0

這是舊的,但有助於解決我的問題類似。謝謝! – nrod 2013-01-04 16:28:40

相關問題