我将现有的aspx文件路由到mvc控制器进行测试,我想也有办法忽略使用IgnoreRoute的路由,然后我可以只注释掉那一行来在aspx和MVC之间切换版本。例如a / b / mypage.aspx路由到controller = Billy,action = Index。
这是我尝试过的地方,因为之前的IgnoreRoute调用,MapRoute应该没有效果:
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
是这样的,确实存在的aspx文件将被考虑用于路由
axd文件不会被路由
aspx文件不会被路由
地图路线应该无效,因为之前的mypage.aspx
行应该忽略IgnoreRoute
。
问题是,IgnoreRoute
对于aspx似乎没有任何改变,MapRoute
仍然会发生。
任何帮助表示感谢。