【发布时间】:2009-12-29 18:00:26
【问题描述】:
请原谅令人困惑的标题;)
我们已经构建了一个 ASP.NET MVC 应用程序来替换我们“旧”的 ASP.NET 网络表单怪物。我们仍然希望支持其中使用的一些旧 URL,因为它们可能仍会在 E-Mail 等中的某个地方浮动。
例如:我们的旧系统使用了 URL ~/Password.aspx,新 MVC 系统中的 URL 是 ~/Home/Password。
为了支持这些旧网址,我们只是将它们添加到路由表中,例如
routes.MapRoute(
"Password",
"Password.aspx",
new {
controller = "Home",
action = "Password",
id = ""
}
);
这很好用,但是每当我们在代码中使用 Url.Action("Password", "Home") 时,它都会生成旧 URL(“~/Password.aspx”而不是“~/Home/Password”) .由于我们想慢慢淘汰旧的 URL,如果 MVC 路由仍然“理解”旧的 URL 但只使用/编写新的 URL,那就太好了。
有没有办法做到这一点?
【问题讨论】:
标签: asp.net-mvc asp.net-mvc-routing