我需要在mvc应用程序处理期间插入路由。我陷入困境,因为我只能使用MapPageRoute将新路由添加到路由表的末尾,并且我可以使用Insert将路由添加到集合的开头,但在这种情况下我无法定义此路由名称,所以我将来无法管理它。
所以问题是:是否有机会将具有已定义名称的路由添加到路径表的起点?
有人知道吗?
P.S。映射到最后并使用Reverse是个坏主意。
答案 0 :(得分:1)
您可以使用Map和insert的组合。映射路由会返回Route对象。您可以映射路线,立即将其删除,然后像这样插入:
Route r = routes.MapRoute(
"SomeName", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
routes.Remove(r);
routes.Insert(0, r);
这将为您提供路线表顶部的命名路线。