更改global.asax中的路由值

本文关键字:路由 global asax 更改 | 更新日期: 2023-09-27 18:28:58

我想更改我的默认路由值。

现在,我有:

routes.MapRoute(
            "Default", // Route name
            "{controller}/{action}/{id}", // URL with parameters
            new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
        );

我想要:{controller}/{id}/{action}

这并不像我已经尝试过的那样简单,比如更改值。我该如何处理?

更改global.asax中的路由值

您需要两条路由才能完成这一任务。

只是粗略的想法,未经测试

 routes.MapRoute(
        "Default", // Route name
        "{controller}/{id}/{action}", // URL with parameters
        new { controller = "Home", action = "Index", id=@"'d+" } // defaults
    );
 routes.MapRoute(
        "Shorter", // Route name
        "{controller}/{action}", // URL with parameters
        new { controller = "Home", action = "Index" }         // defaults
    );

一定要按这个顺序放。

不完全确定Actions的签名,可能是ActionResult Index(int? id)