具有ID和动作的MVC路由在同一级别

时间:2018-05-18 15:29:05

标签: asp.net-mvc url-routing

我希望能够制作一个同时具有动作和ID的MVC路线。

实施例: 如果打电话

HTTP://www.something.com/F/GetMyData 

然后调用GetMyData动作

如果致电

HTTP://www.something.com/F/dfeTD53F 

并且没有找到此名称的操作,它假定“dfeTD53F”是ID控制器F应该使用该ID调用。

这可能吗?如何?

这只是糟糕的应用程序设计吗?

现在我在route.config中有了F下所有特定操作的路由,并且可能会在时间上变得非常混乱。

1 个答案:

答案 0 :(得分:0)

为此,我的解决方案是创建一条“全部捕获”路由(作为最终条目),然后在控制器中手动处理它。

        routes.MapRoute(
            name: "CatchAll",
            url: "{*url}",
            defaults:  new { controller = "CatchAll", action = "Index" }
        );

它不是一个优雅的解决方案,但是很好。.MVC路由开始时并不优雅。