我正在将现有的 aspx 文件路由到 mvc 控制器以进行测试,我还希望有一种方法可以使用 IgnoreRoute 忽略路由,然后我可以只注释掉该行以在 aspx 和 MVC 版本之间切换。例如 a/b/mypage.aspx 路由到控制器 = 比利,动作 = 索引。
这是我尝试过的 MapRoute 由于先前的 IgnoreRoute 调用而没有效果的地方:
RouteTable.Routes.RouteExistingFiles = true;
RouteTable.Routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
RouteTable.Routes.IgnoreRoute("{resource}.aspx/{*pathInfo}");
RouteTable.Routes.MapRoute(
"Mine", // Route name
"a/b/{c}", // URL with parameters
new { controller = "Billy", action = "Index", id = "" },
new { c = "(mypage\\.aspx)" }
);
这是我对应该发生什么的理解......
RouteExistingFile
s 是为了考虑路由确实存在的 aspx 文件。
axd 文件不会被路由
aspx 文件不会被路由
map 路由应该没有效果,因为mypage.aspx
应该被前IgnoreRoute
一行忽略。
问题是IgnoreRoute
aspx 似乎没有改变任何东西,MapRoute
仍然发生。
任何帮助表示赞赏。