Asp.net 使用.net 4 URL路由根据查询字符串将一个ASPX页面重定向到另一个页面?

Asp.net 使用.net 4 URL路由根据查询字符串将一个ASPX页面重定向到另一个页面?,asp.net,url-routing,Asp.net,Url Routing,我们正在重新构造我们的ASP.Net站点,我们需要将大量页面请求重定向到新页面。我想知道我们是否可以使用.NET4的路由机制来解决这个问题。将发生的情况是,对OldPage.aspx?i=Parm1的请求现在将转到NewPage1.aspx,而OldPage.aspx?i=Parm2将转到NewPage2.aspx 我知道我们可以在OldPage.aspx上这样做: private void Page_Load(object sender, System.EventArgs e) { Re

我们正在重新构造我们的ASP.Net站点,我们需要将大量页面请求重定向到新页面。我想知道我们是否可以使用.NET4的路由机制来解决这个问题。将发生的情况是,对
OldPage.aspx?i=Parm1
的请求现在将转到
NewPage1.aspx
,而
OldPage.aspx?i=Parm2
将转到
NewPage2.aspx

我知道我们可以在
OldPage.aspx
上这样做:

private void Page_Load(object sender, System.EventArgs e)
{
   Response.Status = "301 Moved Permanently";
   Response.AddHeader("Location","http://www.new-url.com");
}
但是我们可以使用路由从一个aspx页面(和参数)映射到另一个aspx页面吗?看起来RouteTable更多的是用于设置MVC样式的路由,而不是处理从一个ASPX页面到另一个页面的重定向。但是,如果我能让它与RouteTable一起工作,我可以删除OldPage.aspx

routes.MapPageRoute(
   "MarketReports",               // Route name
   "Reports/{*i}",  // Route URL
   "~/pageControl2.aspx"      // Web page to handle route
);

也许这篇MSDN文章可以帮助: