2011-12-06 9 views
1

としてアクションを許可していません:RedirectToRoutePermanentは、私がこれを行うにはしたいと思いパラメータ

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

ではなく、私はそれを動作させるためにこれをしなければならなかった:

return RedirectPermanent("/dealers/join"); 

がでアクションで参加しますディーラーのコントローラーにルーティングされると、別のルートが正常に機能します。しかし、私がこのようなことをしようとすると、ルートが見つからずにエラーになります。何か案は?

答えて

0

ReidrectToRoutePermanentは、MSDNのリファレンスに基づいて、文字列パラメータをとります。このパラメータは、ルート名でありコントローラ名ではありません。あなたが/ディーラー/参加者にナビゲートするためにデフォルトルートに頼っているなら、これは動作しません。あなたのルーティングテーブルはどのように見えますか?ルート登録コードを添付できますか?さらに、Controllerアクションメソッドのスコープ内で実行している場合は、メソッドRedirectToActionPermanentが必要です。

0

もっと良い方法があるかもしれませんが、通話中にあなたのメソッドにUrl.Action()を含めることはできますか?

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

RedirectToRoutePermanentを使用できます。 RedirectToRoutePermanentメソッドはRouteNameで機能します。 したがって、第1パラメータとしてRouteNameを渡し、第2パラメータとしてRouteパラメータを渡す必要があります。

また、コントローラー名も記述する必要があります。 何かのように、

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

希望が助けます。

関連する問題