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 回答