我正在将我的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。
答案 0 :(得分:2)
这必须有效:
routes.MapPageRoute("aspx-redirection", "{page}.aspx", "~/aspx/{page}.aspx");
答案 1 :(得分:0)
有...... 但它并非直接来自MapRoute
routes.MapRoute(
name: "Legacy",
url: "aspx222/{page}.aspx",
defaults: new { controller = "Home", action = "Page", page = UrlParameter.Optional }
);
在Home in Page
之后public ActionResult Page(string page)
{
return Redirect(String.Format("/aspx/{0}.aspx",page));
}