2016-03-31 14 views
2

Jilet kodumda aşağıdaki eylem linkine sahibim.Başka bir eylem veya rotaya nasıl yönlendirilir?

@Html.ActionLink("poof", "Poof", new { Id = Model.Id }) 

Ne olmasını istediğim Puf yöntem çağrılır olmasıdır ama sonra, bilgisayar başka görünüme gidin istiyorum - mesela Göster.

public ActionResult Show(Guid id) 
{ 
    return View(...); 
} 

public void Poof(Guid id) 
{ 
    ... 
    RedirectToRoute("Show", new {Id = id}); 
    RedirectToAction("Show", new {Id = id}); 
} 

ben hem RedirectToRoute ve RedirectToAction denedim ama her iki durumda da, boş bir ekrana indi. URL'ye daha yakından baktığımda, .../Poof/... rotasına yapıştığımı göstererek .../Göster/... sonucunu çözemiyorum. Uygun bağlantıya nasıl geri dönülür.

Ben this answer gibi bir şey takip ediyorum ama Show kırılma noktası beri eylem (yani, yönlendirme üzerine) vurmak değil, bunu rota haritalama gibi uğraşmak daha uygun olup olmadığını merak etmeye başlar this blog.

+0

'* Eylem' kullanmak için belirli bir nedeniniz yoksa' * Eylem' kullanmalısınız –

cevap

1

Poof başka bir eyleme yönlendiriyor olsa da, yine de bir eylemin kendisidir ve bu nedenle bir ActionResult döndürmesi gerekir. RedirectToAction, bu nedenle ActionResult değerini döndürür.

public ActionResult Poof(Guid id) 
{ 
    // ... 

    return RedirectToAction("Show", new {Id = id}); 
}