私はASP.NET MVCアプリケーションを持っています。私のアプリはT4MVCを使用しています。私のコントローラでは、あるアクションから別のアクションにリダイレクトする必要があります。これを行うと、クエリ文字列値を追加する必要があります。クエリ文字列の値を指定せずに正常にリダイレクトできますが、クエリ文字列の値を正しく適用できませんでした。私は./action-2
を訪問したときにASP.NET MVC - コントローラのRedirectToActionにクエリ文字列値を追加
[HttpPost]
[ValidateAntiForgeryToken]
public virtual ActionResult Action1()
{
return RedirectToAction(MVC.MyController.Action2().AddRouteValue("id", "5"));
}
[Route("action-2")]
public virtual ActionResult Action2(string input)
{
ViewBag.Input = input;
return View(viewModel);
}
Action2
が正常に動作します:私の行動は次のようになります。私はまた、Action1
に正常にPOSTすることができます。しかし、リダイレクトが機能しないとき。アドレスバーに次のようなメッセージが表示されます。
/MyController/id
なぜですか?これをどうやって解決するのですか?ちょうどAction2
にリダイレクトするだけですが、今回はクエリ文字列パラメータを追加します。私は何が欠けていますか?それを動作させるためには
input
を」)のアクションで名前によってパラメータを指定する必要が
「RedirectToAction( "Action2"、 "MyController"、new {id = 5}); – trashr0x