MVC路由配置原则

基本原则:精确匹配的靠前;缩略路径靠后。


具体来说:

 routes.MapRoute(
                            "PhotoDetail", // Route name
                            "Photos/Detail/{albumId}/{photoId}/{commentPageIndex}", // URL with parameters
                            new { controller = "Photos", action = "Detail", albumId = UrlParameter.Optional, photoId = UrlParameter.Optional, commentPageIndex=UrlParameter.Optional } // Parameter defaults
                        );
要靠前;

routes.MapRoute(
                            "PhotoDetailShort", // Route name
                            "Photos/{albumId}/{photoId}/{commentPageIndex}", // URL with parameters
                            new { controller = "Photos", action = "Detail", albumId = UrlParameter.Optional, photoId = UrlParameter.Optional, commentPageIndex = UrlParameter.Optional } // Parameter defaults
                        );
要放到后面

否则可能很诡异的事情出现。

原文地址:https://www.cnblogs.com/yanyuge/p/2613714.html