2

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

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

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

有没有办法将/page.aspx?id=5的请求放入 Route 中,以便我们可以处理请求,将其传递给控制器​​/动作,然后从那里处理?

4

2 回答 2

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();
}
于 2013-09-25T01:08:21.773 回答
0

看看,你也可以在你的应用程序中引入“区域”——如果你的项目足够大,这会很有帮助。如果您使用它们,它们将反映在您的路线上。

于 2013-09-25T12:16:47.690 回答