web-dev-qa-db-ja.com

RedirectToActionメソッドでクエリ文字列値を追加する方法は?

Asp.net mvcでは、次のコードを使用しています。

RedirectToAction("myActionName");

クエリ文字列を介していくつかの値を渡したいのですが、どうすればよいですか?

72
mrblah

渡されたルートの一部ではない値は、クエリ文字列パラメーターとして使用されます。

return this.RedirectToAction
  ("myActionName", new { value1 = "queryStringValue1" });

戻ります:

/controller/myActionName?value1=queryStringValue1

「value1」という名前のルートパラメータがないと仮定します。

141
Talljoe

また、拡張メソッドAddRouteValue()およびAddRouteValues()を含む T4MVC の使用を検討してください(この質問で redirecttoactionのクエリ文字列の設定 =)。

4
Martin_ATS

私が犯したのと同じ間違いをしないでください。 404エラーを処理していたので、クエリ文字列に404=filename、つまりmysite.com?404=nonExistentFile.txtを使用してリダイレクトしたかったのです。

QueryStringキーは数字で始めることはできません。 404からFileNotFoundに変更すると、私の問題、つまりmysite.com?FileNotFound=nonExistentFile.txtが解決しました。

1
Nicholas V.