2011-12-06 131 views
1

我想做到這一點:RedirectToRoutePermanent不接受行動作爲參數

return RedirectToRoutePermanent("Dealers", new { action = "Join" }); 

,而是我不得不這樣做,使其工作:

return RedirectPermanent("/dealers/join"); 

加入是在行動經銷商控制器和另一條路線可以很好地發送給經銷商控制器。但是當我以這種方式嘗試時,它沒有發現路線時發生錯誤。有任何想法嗎?

回答

0

根據MSDN參考,ReidrectToRoutePermanent接受一個字符串參數,它應該是路由名稱而不是控制器名稱。如果您依靠默認路線導航到/ dealers/join,則這不起作用。你的路由表是什麼樣的?你可以附上註冊路線代碼嗎?此外,如果您在Controller操作方法範圍內執行,我認爲您需要一個方法RedirectToActionPermanent

0

可能有更好的方法,但是你可以在調用中將Url.Action()包含到你的方法中嗎?

1
return RedirectToActionPermanent("Join", "Dealers"); 
0

您可以使用RedirectToRoutePermanent。 RedirectToRoutePermanent方法適用於RouteName。 所以,你需要傳遞你的RouteName作爲第一個參數和Route參數作爲第二個參數。

另外,您還需要提及控制器名稱。 類似的,

return RedirectToRoutePermanent("YourRouteName", new { controller="Dealers", action = "Join" }); 

希望有所幫助。

相關問題