1

我正在将我的 asp.net 页面从 asp.net 2.0 更新到 MVC4。

我要做的是基本上继续支持现有的网址:

mypage.com/one.aspx向后兼容,除了我想把所有 aspx 页面放在一个 aspx 目录中,所以新的 url 将是mypage.com/aspx/one.aspx.

如果我直接输入网址,mypage.com/aspx/one.aspx它会起作用并且页面会出现。

现在我正在尝试使用 RouteConfig 告诉它将 one.aspx 重定向到aspx/one.aspx,但我看不到如何做到这一点。我看到的所有 RouteConfig 示例都使用控制器,这不是我想要做的:

routes.MapRoute(name: "ONE", url: "one.aspx", defaults: new { controller = "Home", action = "Index" });

有没有办法在 RouteConfig 中使用 MapRoute 重定向到另一个 aspx 页面?我将 C# 与 MVC4 一起使用。

4

2 回答 2

2

这必须有效:

routes.MapPageRoute("aspx-redirection", "{page}.aspx", "~/aspx/{page}.aspx");
于 2013-11-14T03:49:49.550 回答
1

有......但它不是直接来自 MapRoute

routes.MapRoute(
        name: "Legacy",
        url: "aspx222/{page}.aspx",
        defaults: new { controller = "Home", action = "Page", page = UrlParameter.Optional }

    );

然后在主页中

public ActionResult Page(string page)
{

    return Redirect(String.Format("/aspx/{0}.aspx",page));

}
于 2013-11-14T03:52:28.350 回答