我们将解决方案升级到MVC 2.外部链接仍在使用/mypath/Default.aspx,查询字符串为n = 10。有没有办法用控制器捕获该路由并使用正确的查询字符串调用Default.aspx文件?
我们尝试使用IIS6重新路由以及元刷新,但两者都剥离了查询字符串。
Nick Craver的answer看起来很有希望作为这个问题的答案。
答案 0 :(得分:1)
我不确定你是什么意思“并使用正确的查询字符串调用Default.aspx文件?”但如果您打算调用默认路由,则可以轻松完成。
您应该只能在“mypath / Default.aspx”上指定路线。查询字符串将自动绑定到您的方法。
例如:
routes.MapRoute(
"LegacyUrl", // Route name
"mypath/Default.aspx", // URL with parameters
new { controller = "Home", action = "Index"}
);
然后你的方法:
[HttpGet]
public ActionResult Index(int n)
{
// do something with n, maybe pass it to the View
return View();
}