从/使用ASP MVC3路由进行重定向的最佳方法是什么?

时间:2012-05-15 16:19:16

标签: asp.net-mvc asp.net-mvc-3 asp.net-mvc-routing

我目前设置了以下路线:

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

但是我想更改此设置,因此默认设置如下:

/F00C/Home-About#/C01C/Overview

我意识到这并没有映射到控制器和操作,但有一种方法我可以使用MapRoute对另一个href执行内部重定向

1 个答案:

答案 0 :(得分:1)

如果你的意思是你希望你的默认页面意味着如果有人点击你的root /你希望他们被重定向到/ F00C / Home-About#/ C01C / Overview,那么只需假设你有这些路线在global.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中配置重定向,但这样它就是应用程序的一部分。