使用MVC路由为旧page.aspx?

时间:2013-09-24 22:47:31

标签: asp.net asp.net-mvc asp.net-mvc-4 asp.net-mvc-routing

我们正在将一个旧的asp.net网站重写为MVC4。

我们的网站有许多链接看起来像这样(我们无法控制但必须支持):

 www.some.com/page.aspx?id=5 

有没有办法将 /page.aspx?id=5 的请求添加到路由中,以便我们可以处理请求,将其传递给控制器​​/操作,然后从有?

2 个答案:

答案 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)

退房时,您可能还会在您的应用中引入“区域” - 如果您的项目足够大,这将非常有用。如果您使用它们,它们将反映您的路线。