我们正在将一个旧的asp.net网站重写为MVC4。
我们的网站有许多链接看起来像这样(我们无法控制但必须支持):
www.some.com/page.aspx?id=5
有没有办法将 /page.aspx?id=5 的请求添加到路由中,以便我们可以处理请求,将其传递给控制器/操作,然后从有?
答案 0 :(得分:6)
在RouteConfig中,添加一条路线(在默认路线之前):
routes.MapRoute(
name: "DefaultAspx",
url: "page.aspx",
defaults: new { controller = "MyAspxPage", action = "Index", id = UrlParameter.Optional }
);
在控制器中捕获页面ID:
(MyAspxPageController)
public ActionResult Index(int id)
{
// Do whatever needed
//return View();
}
答案 1 :(得分:0)
退房时,您可能还会在您的应用中引入“区域” - 如果您的项目足够大,这将非常有用。如果您使用它们,它们将反映您的路线。