2011-01-12 54 views
1

我絕對是C#,ASP.NET和MVC2的初學者,這意味着我可能會錯過某些特別基本的東西。我試圖尋找它,但在這裏,我再次未能拿出與沒有谷歌不StackOverflow上適當的咒語,所以來這裏的問題:ASP.NET MVC2:如何在POST後重定向到GET Details/5添加

我想有兩個操作創建一個基本的控制器:

[HttpPost] 
public ViewResult Create(CustomerCreateData data) 
{ 
    CustomerRecord cr = //create customer record from input data... 

    return RedirectToAction("Details"); 
} 

public ViewResult Details(int id) 
{ 
    CustomerRecord cr = // load customer record with specified id... 
    return View(cr); 
} 

我的想法是成功後POST /Customer/Create用戶將被重定向到GET /Customer/Details/42其中42是新創建的客戶記錄的ID。

,這是什麼在ASP.NET MVC2

PS正確的咒語 - 我見過重定向到"Index"行動的例子不勝枚舉,但不是很夠。

回答

4

可以傳遞數據到RedirectToAction方法:

return RedirectToAction("Details", new { id = cr.Id }); 

這是假設你要麼具有限定的路線,例如Customer/Details/{id}或您仍然有默認路線{controller}/{action}/{id}

+0

謝謝一堆 - 這正是我需要:) – 2011-01-13 09:57:25

1

在創建的ActionResult,之後創作的成功讓這樣的(或者真的這個爲例)動作:

return RedirectToAction("Details", new { Id = cr.Id }); 

此代碼產生一個重定向到細節/ ID/{} cr.Id。 對不起,因爲我的意思是壞的