0

たとえば、ユーザーがMainアクションにアクセスmySite/Mainしてアドレスバーに入力しようとすると、強制的に にルーティングし、何らかの処理後にmySite/beforeMainに自動的にリダイレクトします。Mainルート マッピングでこれを行うにはどうすればよいですか、または他の方法でこれを行うことはできますか? URL にクエリ文字列パラメーターを含めたり、TempData/etc を使用したりしたくありません。クッキーが無効になっている場合。

4

1 に答える 1

1

おそらく、 Url Rewriteを使用できます。

または、次を使用できますRedirectToAction

public ActionResult Main()
{
    if(Request.QueryString["redirected"].ToString() != "true")
    {
        return RedirectToAction("beforeMain", "mySite");
    }

    return View();
}

次に、あなたのbeforeMain行動は次のようになります。

public ActionResult BeforeMain()
{
     //do some stuff
     return RedirectToAction("Main",  new { redirected = "true" });
}

次に、メインを2回押すと、リダイレクトがスキップされ、ループに陥ることはありません。

于 2013-10-31T15:08:44.523 に答える