1

我正在将现有的 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)" }
    );

这是我对应该发生什么的理解......
RouteExistingFiles 是为了考虑路由确实存在的 aspx 文件。
axd 文件不会被路由
aspx 文件不会被路由
map 路由应该没有效果,因为mypage.aspx应该被前IgnoreRoute一行忽略。

问题是IgnoreRouteaspx 似乎没有改变任何东西,MapRoute仍然发生。

任何帮助表示赞赏。

4

0 回答 0