0

私は MVC を初めて使用します (従来の ASP を長年使用してきました)。この質問の仕方がよくわかりません。基本的に、あるコントローラーのアクションを別のビュー/コントローラーにシームレスに転送/リダイレクトしたいと考えています。私が試してみました

    public class SetupController : Controller
    {
        ...
        public ActionResult Bicycles()
        {
            return RedirectToAction("Index", "Bicycles");
        }
    }

しかし、問題は、これにより localhost/Bicycles (存在しない) に移動することです。私が望むのは、localhost/Setup/Bicycles に移動することです。これを試しました(コントローラー名に「セットアップ」親フォルダーを追加):

    public class SetupController : Controller
    {
        ...
        public ActionResult Bicycles()
        {
            return RedirectToAction("Index", "Setup/Bicycles");
        }
    }

しかし、これにより無限のリダイレクト ループが作成され、ブラウザはこれを拒否しました。

私がやろうとしていることは理にかなっていると思います。

4

2 に答える 2

0

あなたが探しているのは次のとおりだと思います:

    public ActionResult Bicycles()
    {
        return RedirectToAction("Bicycles", "Setup");
    }

最初のパラメーターはアクションで、2 番目のパラメーターはコントローラーです。

既に自転車のアクションで SetupController にいるため、無限のリダイレクトが発生します。ただし、あなたが言及したことから、それはあなたがリダイレクトしようとしている場所です。

于 2012-07-05T03:41:18.487 に答える
0
protected internal RedirectToRouteResult RedirectToAction(
    string actionName,
    string controllerName
)

したがって、最初の例は Bicycles コントローラーの Index アクションにリダイレクトするため、localhost/Bicycles になります。

于 2012-07-05T03:43:38.470 に答える