0

現在、次のルートを設定しています。

    context.MapRoute("Root", "", new
    {
        controller = "Server",
        action = "FavoritesList",
        id = "00C"
    }
    );

ただし、これを変更したいので、デフォルトは次のようになります。

/F00C/Home-About#/C01C/Overview

これはコントローラーとアクションにマップされないことを認識していますが、MapRoute を使用して別の href への内部リダイレクトを行う方法はありますか?

4

1 に答える 1

1

デフォルトのページを、誰かがルートにヒットした場合に/ F00C / Home-About#/ C01C / Overviewにリダイレクトすることを意味する場合は、これらのルートがグローバルにあると単純に想定します。 asax.cs


routes.MapRoute(
    "DefaultRedirect", // Route name
    string.Empty, // URL with parameters
    new { controller = "Home", action = "Redirect" });

routes.MapRoute(
    "Homepage",
    "F00C/Home-About",
    new { controller = "Home", action = "Index" });

これは、HomeControllerで実行できます。


public ActionResult Redirect()
{
    return Redirect("~/F00C/Home-About#/C01C/Overview");
}

public ActionResult Index()
{
    ViewBag.Message = "Welcome to ASP.NET MVC!";

    return View();
}

編集:言うのを忘れた

好みに応じてIIS自体でリダイレクトを構成することもできますが、このようにすると、それはアプリケーションの一部になります。

于 2012-05-15T16:47:49.607 に答える