Han*_*fer 3 asp.net-mvc asp.net-mvc-routing
请原谅令人困惑的标题;)
我们已经构建了一个ASP.NET MVC应用程序来替换我们的"旧"ASP.NET webforms怪物.我们仍然希望支持那里使用的一些旧URL,因为它们仍然可以在某个地方的电子邮件等中浮动.
例如:我们的旧系统使用了URL~/Password.aspx,新MVC系统中的URL是〜/ Home/Password.
为了支持这些旧URL,我们只是将它们添加到路由表中,例如
routes.MapRoute(
"Password",
"Password.aspx",
new {
controller = "Home",
action = "Password",
id = ""
}
);
Run Code Online (Sandbox Code Playgroud)
这很好用,但每当我们在代码中使用Url.Action("密码","主页")时,它会生成旧的URL("〜/ Password.aspx"而不是"〜/ Home/Password").由于我们想要慢慢淘汰旧的URL,如果MVC路由仍然"理解"旧URL但只使用/写入新URL,那将是很好的.
有没有办法实现这个目标?
将新路由放在路由表上的旧路由之上.路线越高,它的优先级越高:
routes.MapRoute(
"PasswordNew",
"Home/Password",
new {controller = "Home",
action = "Password",
id = ""
}
);
routes.MapRoute(
"Password",
"Password.aspx",
new {
controller = "Home",
action = "Password",
id = ""
}
);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
202 次 |
| 最近记录: |