相关路线注册码:
routes.MapRoute(
"QuestionsMostRecent",
"questions",
new { controller = "questions", action = "most_recent" }
);
routes.MapRoute(
"ControllerActionFormat",
"{controller}/{action}.{format}"
);
路线生成代码:
Url.RouteUrl(new {
controller = "questions",
action = "most_recent",
format = "rss"
});
我希望收到“/questions/most_recent.rss”,但我会收到“/ questions?format = rss”。我意识到我可以通过引用路由名称“ControllerActionFormat”强制我的预期结果,但我很好奇为什么路由系统正好匹配第一条路由。任何人都可以对此有所了解吗?
答案 0 :(得分:1)
因为它们都匹配,但您首先注册了更广泛定义的路线。首先注册更具体的路线,它将解决问题。